diff --git a/archive.zip b/archive.zip index 3a50791..7bed693 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index 9cb4a40..10c4e76 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,1546 +1,1546 @@ -May 14, 2024 12:02:17 AM reposense.system.LogsManager addFileHandler +May 15, 2024 12:02:06 AM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -May 14, 2024 12:02:17 AM reposense.parser.CsvParser validateHeader +May 15, 2024 12:02:06 AM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, repo-config.csv, and recognized columns: Ignore Standalone Config, Repository's Location, Branch, Shallow Cloning, File formats, Ignore Glob List, Ignore Authors List, Find Previous Authors, Ignore Commits List -May 14, 2024 12:02:17 AM reposense.parser.CsvParser validateHeader +May 15, 2024 12:02:06 AM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, author-config.csv, and recognized columns: Author's Emails, Repository's Location, Author's GitHub ID, Branch, Author's Display Name, Ignore Glob List, Author's Git Author Name -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:06 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.model.AuthorConfiguration checkDuplicateAliases +May 15, 2024 12:02:07 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -May 14, 2024 12:02:17 AM reposense.git.GitConfig getGlobalGitLfsConfig +May 15, 2024 12:02:07 AM reposense.git.GitConfig getGlobalGitLfsConfig WARNING: Could not get global git lfs config java.lang.RuntimeException: reposense.system.CommandRunnerProcessException: Error returned from command git config --global --list on path . : fatal: unable to read config file '/home/runner/.gitconfig': No such file or directory @@ -1556,115 +1556,115 @@ fatal: unable to read config file '/home/runner/.gitconfig': No such file or dir at reposense.system.CommandRunner.runCommand(CommandRunner.java:21) ... 3 more -May 14, 2024 12:02:17 AM reposense.report.RepoCloner spawnCloneProcess +May 15, 2024 12:02:07 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/markbind/markbind.git... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CATcher-org/WATcher.git... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TEAMMATES/teammates.git... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner spawnCloneProcess +May 15, 2024 12:02:07 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/reposense/reposense.git... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TEAMMATES/teammates.git to complete... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TEAMMATES/teammates.git... +May 15, 2024 12:02:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CATcher-org/WATcher.git... +May 15, 2024 12:02:07 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/markbind/markbind.git to complete... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:07 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/reposense/reposense.git to complete... -May 14, 2024 12:02:18 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TEAMMATES/teammates.git to complete... +May 15, 2024 12:02:07 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/CATcher-org/WATcher.git to complete... -May 14, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:08 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/CATcher-org/WATcher.git completed! -May 14, 2024 12:02:19 AM reposense.report.RepoCloner spawnCloneProcess +May 15, 2024 12:02:08 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/CATcher-org/CATcher.git... -May 14, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:08 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/CATcher-org/CATcher.git to complete... -May 14, 2024 12:02:19 AM reposense.report.ReportGenerator analyzeRepos +May 15, 2024 12:02:08 AM reposense.report.ReportGenerator analyzeRepos INFO: [1/6] Analyzing https://github.com/CATcher-org/WATcher.git (main)... -May 14, 2024 12:02:19 AM reposense.report.ReportGenerator updateRepoConfig +May 15, 2024 12:02:08 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CATcher-org/WATcher.git (main) does not contain a standalone config file. -May 14, 2024 12:02:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +May 15, 2024 12:02:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CATcher-org/WATcher.git (main)... -May 14, 2024 12:02:20 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:10 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/CATcher-org/CATcher.git completed! -May 14, 2024 12:02:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/se-edu/addressbook-level3.git... -May 14, 2024 12:02:21 AM reposense.report.ReportGenerator analyzeRepos +May 15, 2024 12:02:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [2/6] Analyzing https://github.com/CATcher-org/CATcher.git (master)... -May 14, 2024 12:02:21 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/se-edu/addressbook-level3.git... +May 15, 2024 12:02:10 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/se-edu/addressbook-level3.git to complete... -May 14, 2024 12:02:21 AM reposense.report.ReportGenerator updateRepoConfig +May 15, 2024 12:02:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CATcher-org/CATcher.git (master) does not contain a standalone config file. -May 14, 2024 12:02:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +May 15, 2024 12:02:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CATcher-org/CATcher.git (master)... -May 14, 2024 12:02:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/markbind/markbind.git completed! -May 14, 2024 12:02:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [3/6] Analyzing https://github.com/markbind/markbind.git (master)... -May 14, 2024 12:02:22 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/se-edu/addressbook-level3.git completed! -May 14, 2024 12:02:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [4/6] Analyzing https://github.com/se-edu/addressbook-level3.git (master)... -May 14, 2024 12:02:22 AM reposense.report.ReportGenerator updateRepoConfig +May 15, 2024 12:02:12 AM reposense.report.ReportGenerator analyzeRepos +INFO: [3/6] Analyzing https://github.com/se-edu/addressbook-level3.git (master)... +May 15, 2024 12:02:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/se-edu/addressbook-level3.git (master) does not contain a standalone config file. -May 14, 2024 12:02:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +May 15, 2024 12:02:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/se-edu/addressbook-level3.git (master)... -May 14, 2024 12:02:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:02:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/markbind/markbind.git completed! +May 15, 2024 12:02:12 AM reposense.report.ReportGenerator analyzeRepos +INFO: [4/6] Analyzing https://github.com/markbind/markbind.git (master)... +May 15, 2024 12:02:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/se-edu/addressbook-level3.git (master)... -May 14, 2024 12:02:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/markbind/markbind.git (master) does not contain a standalone config file. -May 14, 2024 12:02:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/markbind/markbind.git (master)... -May 14, 2024 12:02:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:02:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CATcher-org/WATcher.git (main)... -May 14, 2024 12:02:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:02:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/se-edu/addressbook-level3.git (master)... -May 14, 2024 12:02:24 AM reposense.report.ReportGenerator analyzeRepo +May 15, 2024 12:02:13 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/se-edu/addressbook-level3.git (master) completed! -May 14, 2024 12:02:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:02:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/markbind/markbind.git (master) does not contain a standalone config file. +May 15, 2024 12:02:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/markbind/markbind.git (master)... +May 15, 2024 12:02:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CATcher-org/WATcher.git (main)... -May 14, 2024 12:02:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/CATcher-org/WATcher.git (main) completed! -May 14, 2024 12:02:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:02:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CATcher-org/CATcher.git (master)... -May 14, 2024 12:02:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:02:14 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/CATcher-org/WATcher.git (main) completed! +May 15, 2024 12:02:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CATcher-org/CATcher.git (master)... -May 14, 2024 12:02:25 AM reposense.report.ReportGenerator analyzeRepo +May 15, 2024 12:02:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CATcher-org/CATcher.git (master) completed! -May 14, 2024 12:02:28 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/reposense/reposense.git completed! -May 14, 2024 12:02:28 AM reposense.report.ReportGenerator analyzeRepos +May 15, 2024 12:02:18 AM reposense.report.ReportGenerator analyzeRepos INFO: [5/6] Analyzing https://github.com/reposense/reposense.git (master)... -May 14, 2024 12:02:28 AM reposense.report.ReportGenerator updateRepoConfig +May 15, 2024 12:02:18 AM reposense.report.ReportGenerator updateRepoConfig INFO: Ignoring standalone config file in https://github.com/reposense/reposense.git (master). -May 14, 2024 12:02:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +May 15, 2024 12:02:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/reposense/reposense.git (master)... -May 14, 2024 12:02:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:02:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/reposense/reposense.git (master)... -May 14, 2024 12:02:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:02:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/reposense/reposense.git (master)... -May 14, 2024 12:02:34 AM reposense.report.ReportGenerator analyzeRepo +May 15, 2024 12:02:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/reposense/reposense.git (master) completed! -May 14, 2024 12:02:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:02:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/markbind/markbind.git (master)... -May 14, 2024 12:02:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:02:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/markbind/markbind.git (master)... -May 14, 2024 12:02:37 AM reposense.report.ReportGenerator analyzeRepo +May 15, 2024 12:02:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/markbind/markbind.git (master) completed! -May 14, 2024 12:02:40 AM reposense.report.RepoCloner waitForCloneProcess +May 15, 2024 12:02:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/TEAMMATES/teammates.git completed! -May 14, 2024 12:02:40 AM reposense.report.ReportGenerator analyzeRepos +May 15, 2024 12:02:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [6/6] Analyzing https://github.com/TEAMMATES/teammates.git (master)... -May 14, 2024 12:02:40 AM reposense.report.ReportGenerator updateRepoConfig +May 15, 2024 12:02:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TEAMMATES/teammates.git (master) does not contain a standalone config file. -May 14, 2024 12:02:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +May 15, 2024 12:02:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TEAMMATES/teammates.git (master)... -May 14, 2024 12:03:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +May 15, 2024 12:03:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TEAMMATES/teammates.git (master)... -May 14, 2024 12:03:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +May 15, 2024 12:03:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TEAMMATES/teammates.git (master)... -May 14, 2024 12:03:22 AM reposense.report.ReportGenerator analyzeRepo +May 15, 2024 12:03:12 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TEAMMATES/teammates.git (master) completed! -May 14, 2024 12:03:22 AM reposense.report.ReportGenerator generateReposReport +May 15, 2024 12:03:12 AM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/2024-dashboard/2024-dashboard/reposense-report -May 14, 2024 12:03:23 AM reposense.RepoSense main -INFO: Elapsed processing time: 1 minute(s) 5.73 second(s) +May 15, 2024 12:03:13 AM reposense.RepoSense main +INFO: Elapsed processing time: 1 minute(s) 6.31 second(s) diff --git a/reposense_reposense_master/authorship.json b/reposense_reposense_master/authorship.json index 5344e7f..a4ad1b0 100644 --- a/reposense_reposense_master/authorship.json +++ b/reposense_reposense_master/authorship.json @@ -1 +1 @@ -[{"path":".github/workflows/gh-pages.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: GitHub Pages","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" - master","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" deploy-gh-pages:","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" name: Deploy MarkBind to GitHub Pages","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" path: ~/.npm","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" - name: Install Graphviz","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" run: sudo apt-get -y install graphviz","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Install MarkBind CLI","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" run: npm i -g markbind-cli","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" - name: Build MarkBind website","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" run: cd docs \u0026\u0026 markbind build --baseUrl /RepoSense","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" - name: Deploy to GitHub Pages","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" if: success()","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: crazy-max/ghaction-github-pages@v2","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" target_branch: gh-pages","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" build_dir: docs/_site","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" keep_history: true","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":50}},{"path":".github/workflows/integration.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: Continuous Integration","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches-ignore:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" - gh-pages","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" pull_request:","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" branches-ignore:","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" - gh-pages","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"env:","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" NODE_VER: \u002718.x\u0027","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" JAVA_DISTRIBUTION: \u0027zulu\u0027","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" JAVA_VER: 11","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" mainbuild:","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" name: ${{ matrix.os }} JDK 11","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" strategy:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" fail-fast: false","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" matrix:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.os }}","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" HOMEBREW_NO_AUTO_UPDATE: 1 # Prevent time-consuming brew update","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" fetch-depth: 0","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" - name: Set up JDK 11","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" - name: Verify Java version","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-gradle-","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" path: $HOME/.npm","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-node-","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" if: ${{ runner.os !\u003d \u0027Windows\u0027 }}","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" run: chmod +x gradlew # Windows does not need this","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" - name: Run environmental checks","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" run: ./gradlew environmentalChecks","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" - name: Run linter","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" run: ./gradlew lintFrontend","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" - name: Build with Gradle","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" run: ./gradlew clean checkstyleAll test systemTest coverage","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" - name: Run code coverage","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 ( matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 || matrix.os \u003d\u003d \u0027macos-11\u0027 || matrix.os \u003d\u003d \u0027windows-2022\u0027 ) }}","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" directory: ${{ github.workspace }}/build/reports/jacoco/coverage","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" files: coverage.xml","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" fail_ci_if_error: false","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" - name: Build preview website (pull request)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" run: |","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" git fetch --all \u0026\u0026 git config --global user.email \"-\" \u0026\u0026 git config --global user.name \"-\" \u0026\u0026 ./gradlew run -Dargs\u003d\"--since d1\"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" sudo apt-get -y install graphviz","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" npm install -g markbind-cli","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" (cd docs \u0026\u0026 markbind build)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" - name: Save PR number and HEAD commit (pull request)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" run: |","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" mkdir -p ./pr","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" echo ${{ github.event.number }} \u003e ./pr/NUMBER","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" echo ${{ github.event.pull_request.head.sha }} \u003e ./pr/SHA","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" - name: Upload artifacts (pull request)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" uses: actions/upload-artifact@v3","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" name: reposense-deployment","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" ./reposense-report","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" ./docs/_site","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" ./pr","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" cypress:","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" name: Cypress frontend tests","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" runs-on: ubuntu-20.04","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" fetch-depth: 0","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" - name: Set up JDK 11","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" - name: Verify Java version","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" ${{ runner.os }}-gradle-","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" path: $HOME/.npm","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" run: chmod +x gradlew","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" - name: Set up environment","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" run: sudo apt-get install -y libgtk2.0-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" - name: Run frontend tests","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" run: ./gradlew frontendTest -Pci","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"sopa301":1,"-":156}},{"path":".github/workflows/surge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow deploys a RepoSense report and the MarkBind documentation","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"# website to surge.sh in a secure manner for pull requests","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"name: Surge.sh build preview","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" workflow_run:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" workflows: [\"Continuous Integration\"]","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" types:","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" - completed","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" deploy:","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" name: Deploy to surge.sh","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" if: ${{ github.event.workflow_run.event \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 github.event.workflow_run.conclusion \u003d\u003d \u0027success\u0027 }}","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ github.token }}","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Download deployment artifacts","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" workflow: integration.yml","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" run_id: ${{ github.event.workflow_run.id }}","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" name: reposense-deployment","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" path: .","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" - name: Extract PR number","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" id: pr-number","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" run: echo \u0027ACTIONS_PR_NUMBER\u003d\u0027$(cat ./pr/NUMBER) \u003e\u003e $GITHUB_OUTPUT","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" - name: Download deployment status artifacts","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" workflow: pending.yml","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" pr: ${{ steps.pr-number.outputs.ACTIONS_PR_NUMBER }}","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" workflow_conclusion: success","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" name: reposense-deployment-id","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" path: ./pr","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as in progress","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh in_progress","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" - name: Install surge","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" run: npm install -g surge","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Deploy to surge.sh","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" SURGE_LOGIN: ${{ secrets.SURGE_LOGIN }}","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh success","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as failure","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" if: ${{ failure() }}","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh failure","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":67}},{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"plugins {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027application\u0027","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" id \u0027idea\u0027","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" id \u0027jacoco\u0027","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" id \u0027java\u0027","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" id \u0027com.liferay.node\u0027 version \u00277.2.18\u0027","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" id \u0027com.github.psxpaul.execfork\u0027 version \u00270.2.0\u0027","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" id \u0027com.palantir.git-version\u0027 version \u00270.13.0\u0027","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"OperatingSystem os \u003d DefaultNativePlatform.currentOperatingSystem;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"mainClassName \u003d \u0027reposense.RepoSense\u0027","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"node.download \u003d false // The Liferay Node Gradle Plugin will use the system PATH to find the Node/npm executable.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"sourceCompatibility \u003d JavaVersion.VERSION_11","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"targetCompatibility \u003d JavaVersion.VERSION_11","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"repositories {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" mavenCentral()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"configurations {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" systemtestImplementation.extendsFrom testImplementation","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" systemtestRuntime.extendsFrom testRuntime","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"dependencies {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String jUnitVersion \u003d \u00275.8.2\u0027","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" implementation group: \u0027com.google.code.gson\u0027 ,name: \u0027gson\u0027, version:\u00272.9.0\u0027","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" implementation group: \u0027net.freeutils\u0027, name: \u0027jlhttp\u0027, version: \u00272.6\u0027","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" implementation group: \u0027net.sourceforge.argparse4j\u0027, name: \u0027argparse4j\u0027, version: \u00270.9.0\u0027","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.ant\u0027, name: \u0027ant\u0027, version: \u00271.10.12\u0027","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.commons\u0027, name: \u0027commons-csv\u0027, version: \u00271.9.0\u0027","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" implementation group: \u0027org.fusesource.jansi\u0027, name: \u0027jansi\u0027, version: \u00272.4.0\u0027","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" implementation group: \u0027com.fasterxml.jackson.dataformat\u0027, name: \u0027jackson-dataformat-yaml\u0027, version: \u00272.17.0\u0027","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: jUnitVersion","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: jUnitVersion","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"sourceSets {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" systemtest {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" compileClasspath +\u003d main.output + test.output","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" runtimeClasspath +\u003d main.output + test.output","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" java.srcDir file(\u0027src/systemtest/java\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" resources.srcDir file(\u0027src/systemtest/resources\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"def installFrontend \u003d tasks.register(\u0027installFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"def buildFrontend \u003d tasks.register(\u0027buildFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027devbuild\u0027]","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"def zipReport \u003d tasks.register(\u0027zipReport\u0027, Zip) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" dependsOn buildFrontend","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" from \u0027frontend/build/\u0027","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \u0027templateZip\u0027","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\u0027src/main/resources\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"def copyCypressConfig \u003d tasks.register(\u0027copyCypressConfig\u0027, Copy) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" description \u0027Copies the config files used by the backend to generate the test report for Cypress testing into an isolated working directory\u0027","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" from \u0027frontend/cypress/config\u0027","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/exampleconfig\u0027","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"def copyMainClasses \u003d tasks.register(\u0027copyMainClasses\u0027, Copy) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" description \u0027Copies the backend classes used to generate the test report for Cypress testing into an isolated working directory\u0027","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" dependsOn classes","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" from \u0027build/classes/java/main\u0027","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/java/main\u0027","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"def compileJava \u003d tasks.compileJava","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"tasks.named(\"processSystemtestResources\").configure {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" duplicatesStrategy \u003d DuplicatesStrategy.INCLUDE","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"tasks.run.dependsOn(zipReport);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"run {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" //the second arguments indicates the default value associated with the property.","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" args System.getProperty(\u0027args\u0027, \u0027\u0027).split()","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" systemProperty \"version\", getRepoSenseVersion()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"checkstyle {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" toolVersion \u003d \u00279.3\u0027","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" getConfigDirectory().set(file(\"$rootProject.projectDir/config/checkstyle\"))","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"idea {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" module {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" sourceSets.systemtest.allSource.srcDirs.each { srcDir -\u003e module.testSourceDirs +\u003d srcDir }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"test {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" testLogging {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" doFirst {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" useJUnitPlatform()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" doLast {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"tasks.shadowJar.dependsOn(zipReport);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"shadowJar {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" archiveFileName \u003d \u0027RepoSense.jar\u0027","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\"${buildDir}/jar/\")","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" manifest {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" attributes \u0027Implementation-Version\u0027: getRepoSenseVersion()","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"tasks.register(\u0027lintFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027lint\u0027]","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"def checkstyleMain \u003d tasks.checkstyleMain","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"def checkstyleTest \u003d tasks.checkstyleTest","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"def checkstyleSystemtest \u003d tasks.checkstyleSystemtest","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"tasks.register(\u0027checkstyleAll\u0027, Checkstyle) {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" dependsOn checkstyleMain, checkstyleTest, checkstyleSystemtest","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" tasks.checkstyleTest.mustRunAfter(\u0027checkstyleMain\u0027)","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" tasks.checkstyleSystemtest.mustRunAfter(\u0027checkstyleTest\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"tasks.register(\u0027environmentalChecks\u0027, Exec) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" workingDir \u0027config/checks/\u0027","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (os.isWindows()){","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027, \u0027/c\u0027, \u0027run-checks.bat\u0027","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" commandLine \u0027sh\u0027, \u0027./run-checks.sh\u0027","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"tasks.register(\u0027systemtest\u0027, Test) {","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" testClassesDirs \u003d sourceSets.systemtest.output.classesDirs","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.systemtest.runtimeClasspath","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" testLogging {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" doFirst {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" useJUnitPlatform()","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" doLast {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"def serveTestReportInBackground \u003d tasks.register(\u0027serveTestReportInBackground\u0027, com.github.psxpaul.task.JavaExecFork) {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" description \u0027Creates a background server process for the test report that is to be used by Cypress\u0027","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" dependsOn zipReport, compileJava, processResources, copyCypressConfig, copyMainClasses","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" workingDir \u003d \u0027build/serveTestReport\u0027","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" main \u003d mainClassName","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.main.runtimeClasspath","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" args \u003d [\u0027--config\u0027, \u0027./exampleconfig\u0027, \u0027--since\u0027, \u0027d1\u0027, \u0027--view\u0027, \u0027-A\u0027]","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" String versionJvmArgs \u003d \u0027-Dversion\u003d\u0027 + getRepoSenseVersion()","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" jvmArgs \u003d [ versionJvmArgs ]","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" waitForPort \u003d 9000","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"def installCypress \u003d tasks.register(\u0027installCypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/cypress/\u0027","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"tasks.register(\u0027cypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"debug\"]","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"tasks.register(\u0027frontendTest\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"tests\"]","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // Run tests in CI without slow motion","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" if (project.hasProperty(\u0027ci\u0027)) {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"ci\"]","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"tasks.withType(Copy) {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d true","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"jacoco {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" toolVersion \u003d \"0.8.7\"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"jacocoTestReport {","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" reports {","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" html.required \u003d true","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" xml.required \u003d true","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" csv.required \u003d false","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" html.destination file(\"${buildDir}/jacocoHtml\")","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" executionData systemtest, frontendTest","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"tasks.register(\u0027coverage\u0027, JacocoReport)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"coverage.configure {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" sourceDirectories.from files(sourceSets.main.allSource.srcDirs)","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" classDirectories.from files(sourceSets.main.output)","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" executionData.from files(jacocoTestReport.executionData)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" afterEvaluate {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" classDirectories.from files(classDirectories.files.collect {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" fileTree(dir: it, exclude: [\u0027**/*.jar\u0027])","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" reports {","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" html.required \u003d true","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" xml.required \u003d true","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"String getRepoSenseVersion() {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" String repoSenseVersion \u003d project.property(\"version\")","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" if (repoSenseVersion.equals(\"unspecified\")) {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" repoSenseVersion \u003d versionDetails().commitDistance \u003d\u003d 0 ? versionDetails().lastTag : versionDetails().gitHash","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" return repoSenseVersion","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"def syncFrontendPublic \u003d tasks.register(\u0027syncFrontendPublic\u0027, Sync) {","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" from \u0027reposense-report\u0027","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" into \u0027frontend/public/\u0027","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" include \u0027**/*.json\u0027","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d false","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" preserve {","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" include \u0027index.html\u0027","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" include \u0027favicon.ico\u0027","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" include \u0027title.md\u0027","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"def macHotReloadFrontend \u003d tasks.register(\u0027macHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" onlyIf {os.isMacOsX()}","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"def windowsHotReloadFrontend \u003d tasks.register(\u0027windowsHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" onlyIf {os.isWindows()}","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027,\u0027/c\u0027, \u0027START\u0027, \u0027\"hotreload RepoSense frontend\"\u0027, \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"def linuxHotReloadFrontend \u003d tasks.register(\u0027linuxHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" onlyIf {os.isLinux()}","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"tasks.register(\u0027hotReloadFrontend\u0027) {","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" dependsOn syncFrontendPublic","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" finalizedBy windowsHotReloadFrontend","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" finalizedBy macHotReloadFrontend","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" finalizedBy linuxHotReloadFrontend","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"// End of hot reload Tasks","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"void deleteReposAddressDirectory() {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" final String REPOS_ADDRESS \u003d \"repos\"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" def reposDirectory \u003d new File(REPOS_ADDRESS)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" reposDirectory.deleteDir()","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"defaultTasks \u0027clean\u0027, \u0027build\u0027, \u0027systemtest\u0027, \u0027frontendTest\u0027, \u0027coverage\u0027","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"sopa301":1,"-":321}},{"path":"config/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2}},{"path":"docs/about.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"About us\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-3\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"RepoSense is a project based in the [National University of Singapore, School of Computing](http://www.comp.nus.edu.sg/), funded by a _Teaching Enhancement Grant_ from the [NUS Center for Development of Teaching and Learning](https://nus.edu.sg/cdtl).","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"## Current team","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"### [Damith C. Rajapakse](http://www.comp.nus.edu.sg/~damithch)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/1673303?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Role**: Project Advisor","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"### [Charisma Kausar](https://www.github.com/ckcherry23)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 December - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"### [David Gareth Ong](https://www.github.com/vvidday)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"### [Gokul Rajiv](https://github.com/gok99)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"### [Marcus Tang Xin Kye](https://www.github.com/MarcusTXK)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"## [Chang Si Kai](https://github.com/sikai00)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2023 Jan - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":"### [Alvis Ng](https://www.github.com/supermii2)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"### [George Tay Quan Yao](https://www.github.com/jonasongg)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":"### [Jonas Ong Si Wei](https://www.github.com/jonasongg)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":"### [Poon Yip Hang, Ryan](https://www.github.com/sopa301)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":"## Past Members","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"### [Wang Chao](https://github.com/fzdy1914)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35621726?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2021 Jan - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"### [Hsu Zhong Jun](https://github.com/dcshzj)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/27919917?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2021 June - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"### [Chan Ger Hean](https://github.com/gerhean)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"### [Huang Chengyu](https://github.com/HCY123902)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"### [Chan Jun Da](https://github.com/chan-j-d)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Apr- 2023 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"### [Tay Yi Hsuen](https://github.com/yhtMinceraft1010X)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"### [Zhou Jiahao](https://github.com/zhoukerrr)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"### [Ma Tanghao](https://github.com/harryggg)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"Main developer for the initial version [2017 May - 2018 May]","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"### [Ong Shu Peng](https://github.com/ongspxm)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"![](https://avatars0.githubusercontent.com/u/1430854?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"**Role**: Area Lead for UI [2018 Dec - 2019 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"### [Tan Jun An](https://github.com/yamidark)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/18352498?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"**Role**: Area Lead for Code Quality [2018 Aug - 2019 April]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"Committer [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"### [Teng Yong Hao](https://github.com/yong24s)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/2003406?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"**Role**:","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"Mentor [2018 Dec - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"### [Peh Xian Bin, Eugene](https://github.com/eugenepeh)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/19277206?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Role**: Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"Project Lead [2018 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"### [Aditya Agarwal](https://github.com/adityaa1998)","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"### [Apoorva Ullas](https://github.com/apoorva17)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"Contributor [2018 Aug - 2019 May]","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"### [Chelsey Ong Hee](https://github.com/chel-seyy)","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"### [Gilbert Emerson](https://github.com/emer7)","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"### [Teo Ming Yi](https://github.com/myteo)","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"### [Jin Minjia](https://github.com/bluein-green)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2019 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"### [James Pang Mun Wai](https://github.com/jamessspanggg)","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"![](https://avatars1.githubusercontent.com/u/32864116?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Role**: Committer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"Contributor [2019 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"### [Lee Jin Yao](https://github.com/jinyao-lee)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35756209?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"### [Chong Chee Yuan](https://github.com/ccyccyccy)","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"### [Ni Tianzhen](https://github.com/niqiukun)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"### [Yash Chowdhary](https://github.com/yash-chowdhary)","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/21968718?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"### [Liu Yiwen](https://github.com/0blivious)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"### [Tejas Bhuwania](https://github.com/Tejas2805)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/35946746?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 August]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"### [Anubhav](https://github.com/anubh-v)","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 September - 2020 August]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"### [Ang Ze Yu](https://github.com/ang-zeyu)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2021 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"### [Roland Yu Wenyang](https://github.com/rolandyuwy)","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"**Role**: Contributor [2021 January - 2021 March]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":69,"-":169}},{"path":"docs/dg/devOpsGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"DevOps Guide\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"This page documents the various components that form part of the DevOps infrastructure that RepoSense uses.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"## GitHub Actions","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"[GitHub Actions](https://docs.github.com/en/actions) is a platform that is used by RepoSense for running the test suite and is primarily used for continuous integration and testing. The test suite is stored in `.github/workflows/` and comprises of:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"- Unit tests (in `src/tests/`)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"- System tests (in `src/systemtest/`)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"- Frontend tests (in `frontend/cypress/tests/`)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"### Continuous integration","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"All three types of tests in the test suite are run in a single GitHub Actions workflow called \"Continuous Integration\". The steps are defined in [`integration.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/integration.yml) and are split into two types of jobs:","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"1. Ubuntu/macOS/Windows JDK 11 (`mainbuild`): Runs both unit tests and system tests on JDK 11 running on supported Ubuntu, macOS and Windows versions. For Ubuntu, this job also produces a RepoSense report and the MarkBind documentation website for previewing.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"2. Cypress frontend tests (`cypress`): Runs only the frontend tests on JDK 11 running on Ubuntu.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"The list of supported OS versions are [available on the GitHub Docs website](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources). These jobs should be updated regularly whenever RepoSense supports newer versions of the Java Development Kit (JDK) as well as when new OS versions are made available (via the job OS matrix). Frontend tests are run separately to take advantage of parallel job execution.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"Some of the jobs execute some commands that are too complicated to be included in the workflow configuration files. Such commands are written in the form of a bash script and are located in the [`config/gh-actions`](https://github.com/reposense/RepoSense/tree/master/config/gh-actions) folder.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"This workflow is run for both incoming pull requests to any branch as well as direct commits to any branch in the repository.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"Cypress frontend tests are run against reports generated from config files in `frontend/cypress/config`. It uses the `cypress` branch of the RepoSense repository which is kept independent of `master` and should be updated only when there are new frontend tests that need to be accommodated.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"### Report and documentation previews","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"For each pull request to any branch in the repository, a RepoSense report and the MarkBind documentation website is generated based on the code submitted in the pull request. This is to facilitate pull request reviewers in being able to quickly preview how the RepoSense report and/or the documentation website will change after the pull request is merged.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"Due to [security considerations in preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests), the deployment of the report and documentation previews were split across two workflows in [pull request #1411](https://github.com/reposense/RepoSense/pull/1411):","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Surge.sh pending build (defined in [`pending.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/pending.yml)): Used for gathering information about the pull request and update the pull request checklist to indicate that the previews are pending.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"2. Surge.sh build preview (defined in [`surge.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/surge.yml)): Used for actually deploying the RepoSense report and documentation website to Surge.sh and updating the pull request checklist to link to the preview websites.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"The previews are recognised as GitHub deployments and are named `dashboard-$PRNUMBER` and `docs-$PRNUMBER`, where `$PRNUMBER` is the pull request number. Once a preview is ready, the reviewer would be able to click on \"View deployment\" or \"Show environments\" in the pull request to open the preview websites.","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"Both the \"Surge.sh pending build\" and \"Continuous Integration\" workflows produce an artifact respectively, which is then downloaded by the \"Surge.sh build preview\" workflow to be deployed to Surge.sh. Due to limitations in GitHub Actions in determining the workflow execution order, the \"Surge.sh pending build\" workflow is assumed to have been completed before the \"Continuous Integration\" workflow is completed.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"This task is not performed on commits to the repository, as there is no need to do so.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"After the pull request is closed or merged, the Surge.sh deployments are retained, while the GitHub environments for them are cleared by another workflow \"Clear deployments for closed pull requests\" (defined in [`delete-deploy.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/delete-deploy.yml)). The workflow uses [`delete-deploy.sh`](https://github.com/reposense/RepoSense/blob/master/config/gh-actions/delete-deploy.sh) (found in the `config/gh-actions/` folder) to remove the environments on GitHub, and to leave a comment on the pull request with links to the Surge.sh previews for later reference.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"### GitHub Pages","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"This task builds the MarkBind documentation website on every push to the `master` branch. The steps are defined in [`gh-pages.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/gh-pages.yml).","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"### Stale pull requests","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"This task automates the cleaning up of the pull requests by automatically marking inactive pull requests as stale and subsequently closing them. The steps and configurations are defined in [`stale.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/stale.yml) and the job is triggered automatically once per day.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"## Codecov","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"[Codecov](https://app.codecov.io/gh/reposense/RepoSense) is a platform for checking the code coverage status of the project and the pull request patch. It runs automatically on each pull request and the settings are located in [`codecov.yml`](https://github.com/reposense/RepoSense/blob/master/codecov.yml).","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"## Surge.sh","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"Surge.sh is a platform for hosting the RepoSense report and documentation preview builds. The deployment is automatically performed by the \"Surge.sh build preview\" job using the [`deploy.sh`](https://github.com/reposense/RepoSense/blob/master/config/gh-actions/deploy.sh) script in the `config/gh-actions/` folder.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"For authentication, two secrets are stored and used in GitHub Actions:","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"1. `SURGE_LOGIN` - Holds the email address to use for the Surge.sh account","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"2. `SURGE_TOKEN` - Holds the secret account token generated for the above account (generated using `surge token`)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"The `surge` command automatically detects the existence of these two environment variables and use them for authentication when deploying the RepoSense report and documentation build previews.","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"Currently, deployments are kept forever, even after the pull request is merged or closed. There is currently no existing functionality to automatically clean up deployments after they are no longer useful.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":84}},{"path":"docs/dg/learningBasics.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Learning the Basics\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"This is a learning guide for developers who are new to RepoSense.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"Depending on what you know already and what you would like to work on (i.e., backend or frontend), you may find certain sections irrelevant to you and you can skip them accordingly.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Backend","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the backend of RepoSense. You may skip this section if you want to contribute as a pure frontend developer. Before you get started, you should have set up the project on your computer according to [the _Setting up_ page](settingUp.html).","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"The backend implementation of RepoSense is located in `src/main`.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ step(1) }} **Know Java**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"The RepoSense backend is mostly written in `Java 11`.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"1. You need to have a basic knowledge of Java before getting started, including its syntax, [API](https://docs.oracle.com/javase/11/docs/api/), and certain frameworks such as [JUnit](https://se-education.org/learningresources/contents/java/JUnit.html).","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. Once you are familiar with the basic syntax, you may wish to learn more advanced topics such as [concurrency](https://se-education.org/learningresources/contents/java/JavaConcurrency.html), [synchronization](https://se-education.org/learningresources/contents/java/JavaSynchronization.html), and [streams](https://se-education.org/learningresources/contents/java/streams-an-introduction.html). These topics can help you to understand certain part of the backend implementation (concurrent cloning and analysis of multiple repositories, etc.). They are optional but you may find them useful when working on certain issues.","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense backend architecture**","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"You may want to refer to the [backend architecture](architecture.html) to understand the RepoSense backend implementation logic.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"To gain a more concrete idea of how the backend works, you can use the IDE Debugger and run RepoSense under the debugging mode to trace through the steps of how arguments from command line and CSV files are parsed, how repositories are cloned and analyzed, and how the JSON files are generated.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"The information below is for **Intellij**. If you are using a different IDE, you may need to check the documentation of how to use the debugger separately.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"* Check the [debugging guide](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) if you are not familiar with debugging in **Intelij**.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"* In `RepoSense.java`, the main class, set appropriate break points. Here are some relevant method calls in the `main` method at which you can set the breakpoints:","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * `ArgsParser.parse(args)`: RepoSense parses the CLI arguments from the command given by the user.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" * `getRepoConfigurations(cliArguments)`: RepoSense gets the configuration for each repository by parsing the CSV files.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * `getReportConfigurations(cliArguments)`: RepoSense gets the report configuration (report title) by parsing the JSON files.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * `ReportGenerator.generateReposReport(...)` This is where the bulk of the work is conducted, including cloning repositories, analyzing repositories, and generating the JSON files to be used by the report.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"* To supply debugging arguments, right-click on the run button of `RepoSense.main`, click `Modify Run Configuration`, and add [CLI flags](https://reposense.org/ug/customizingReports.html#customize-using-cli-flags) in `Program arguments`. Examples: `--since 16/12/2021 --until 18/12/2022`; `-s 16/12/2021 -u 18/12/2022`.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"When tracing through the program execution, you can cross reference the architecture diagram and Javadoc of the class and method to check your understanding of the procedure.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense backend. You can do each in a separate branch in your local copy of the code.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Add a flag to pretty-print the JSON file**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" **Task 1: Add a flag to pretty-print the JSON file**","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. [Generate a report locally](../ug/generatingReports.html#generating-reports-locally).","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2. Open a generated JSON file. For example, you can open `summary.json` of the generated report.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" 3. You should see that the content in the JSON is compactly organized in 1 single line. This may affect readability for developer who wants to investigate the content in the JSON file.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" Add a new CLI argument `--use-json-pretty-printing`, such that when a user runs the command `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view --use-json-pretty-printing`, the JSON files `summary.json`, `authorship.json`, and `commits.json` will be printed in a more readable way.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" Try to understand the parsing process of the Command Line Arguments, which starts from `ArgsParser.parse(args)` in `RepoSense.java` and uses `ArgumentParser` to capture the arguments in the command string.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Therefore, the first step you can take is to add the following to `ArgsParser`.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static final String[] JSON_PRINT_MODE_FLAGS \u003d new String[]{\"--use-json-pretty-printing\", \"-j\"};","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" In `getArgumentParser` method, add the following content to make `ArgumentParser` capture the new argument.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" parser.addArgument(JSON_PRINT_MODE_FLAGS)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .dest(JSON_PRINT_MODE_FLAGS[0])","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .help(\"A flag to use json pretty printing when generating the json files.\");","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" After the step in hint 1, the argument is captured by `ArgumentParser`. Now make corresponding changes to `CliArguments.java`, `ConfigCliArguments.java`, and the `parse` method in `ArgsParser.java` to make the return result of `parse` include the new argument.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" 1. Add the following content to `CliArguments` to include `isPrettyPrintingUsed` as a new attribute to the class.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected boolean isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isPrettyPrintingUsed() {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" return isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" 2. In the constructor of `ConfigCliArguments`, add `isPrettyPrintingUsed` as a new parameter of the method, and add the following instruction to the method body.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" this.isPrettyPrintingUsed \u003d isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" 3. In the `parse` method of `ArgsParser`, add the following instruction to get `isJsonPrettyPrintingUsed` from `ArgmentParser`.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" boolean isJsonPrettyPrintingUsed \u003d results.get(JSON_PRINT_MODE_FLAGS[0]);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" 4. Additionally, change the return statement of the `parse` method so that the `ConfigCliArguments` object returned will now include `isJsonPrettyPrintingUsed`.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" After the steps in hint 1 and hint 2, the result returned from `ArgsParser.parse(args)` in `RepoSense.java` should be able to capture the new argument when it is specified in the command.","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" The next step is to extract the argument from the `CliArguments` object, and pass it to JSON file writer to notify it of the specified printing mode.","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" Note that the creation and writing of JSON file is invoked in `ReportGenerator.generateReposReport`, which calls `FileUtil.writeJsonFile` directly to write the `summary.json` file or indirectly (Check `generateIndividualRepoReport` and `generateEmptyRepoReport`) to write the `commits.json` or `authorship.json` files of individual repositories.","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" Therefore, the task now is to make `FileUtil.writeJsonFile` switch between different printing mode.","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" 1. You can find out what [`Gson.setPrettyPrinting`](https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.5/com/google/gson/GsonBuilder.html#setPrettyPrinting--) does and how it can be used in the `writeJsonFile` method of [`FileUtil.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/util/FileUtil.java).","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" 2. Add the following content to `FileUtil`.","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" private static boolean isPrettyPrintingUsed \u003d false;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" 3. In the `writeJsonFile` method, Replace the creation of the `Gson` object with the following instructions.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" GsonBuilder gsonBuilder \u003d new GsonBuilder()","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .registerTypeAdapter(LocalDateTime.class, (JsonSerializer\u003cLocalDateTime\u003e) (date, typeOfSrc, context)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" -\u003e new JsonPrimitive(date.format(DateTimeFormatter.ofPattern(GITHUB_API_DATE_FORMAT))))","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .registerTypeAdapter(FileType.class, new FileType.FileTypeSerializer());","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" Gson gson;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (isPrettyPrintingUsed) {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.setPrettyPrinting().create();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.create();","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" 4. To notify `FileUtil` of the switch between different printing mode, add the following method to `FileUtil`.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static void setPrettyPrintingMode(boolean isPrettyPrintingAdopted) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" isPrettyPrintingUsed \u003d isPrettyPrintingAdopted;","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" 5. It is now possible to notify `FileUtil` of the printing mode switch by extracting the argument from the `CliArguments` object in the `main` method of `RepoSense.java` and passing it to the corresponding method in `FileUtil`.","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.setPrettyPrintingMode(cliArguments.isPrettyPrintingUsed());","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Now the parsing of argument and changing of printing mode should have been completed.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. By combining the changes in hint 1, hint 2, and hint 3, you should be able to get a possible solution.","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Try the command `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view --use-json-pretty-printing` and check the generated JSON files to see if it works.","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add exception message during repository cloning to the summary view**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" **Task 2: Add exception message during repository cloning to the summary view**","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" 2. You should see that there is a red panel in the summary view containing the following message, indicating that there is an issue in the cloning process of the repository `reposense/testrepo-Empty`.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" reposense/testrepo-Empty[master]","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" Failed to clone from https://github.com/reposense/testrepo-Empty.git","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" **Your task**","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" For the repository with the message `Failed to clone from ...`, find out what exception causes this cloning error, and add that exception message to the panel as well.","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" You can find out what [`ErrorSummary.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ErrorSummary.java) and [`RepoCloner.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/RepoCloner.java) do, and where they are used.","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" Try to understand the cloning process.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" * The cloning process is invoked by [`RepoGenerator.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ReportGenerator.java) in the `cloneAndAnalyzeRepos` method, which subsequently calls `cloneBare` in `RepoCloner.java` to start the cloning.","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" * The `cloneAndAnalyzeRepos` method will then call `getRepoLocation` in `RepoCloner.java` to try to get the repository location.","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Beneath the surface, `RepoCloner` will first execute `spawnCloneProcess` and then execute `waitForCloneProcess` when it is invoked by `RepoGenerator` for the first and second time respectively.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" In `RepoCloner`, the potential exceptions in `spawnCloneProcess` and `waitForCloneProcess` are caught but not recorded by `ErrorSummary`.","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" Add this to the catch block of `spawnCloneProcess` and `waitForCloneProcess`, so that the message will be captured in `summary.json`.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), e.getMessage());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html).","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"## Frontend","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the frontend of RepoSense. You may skip this section if you want to contribute as a pure backend developer.","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"The frontend implementation of RepoSense is located in `frontend/src`.","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"{{ step(1) }} **Learn the necessary tools**","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"It is necessary for you to learn the basics of Vue.js, Pug, and SCSS before working on the project.","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"### Vue.js","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"Vue.js uses JavaScript as its programming language. Before learning **Vue.js**, you may need to first get yourself familiar with JavaScript syntax first.","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":"You can refer to the [Javascript documentation](https://devdocs.io/javascript/) to learn the basic syntax. There are plenty of other resources available and please feel free to find the resource most suitable for you. Do note that RepoSense uses ES6 over CommonJS.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"RepoSense uses **Vue.js** (Vue3) in its front-end implementation. In particular, major user interface components, such as [summary view](report.html#summary-view-v-summary-js), [authorship view](report.html#authorship-view-v-authorship-js), and [zoom view](report.html#zoom-view-v-zoom-js), are implemented as Vue components. The corresponding source files are in `frontend/src`.","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"* If you are new to Vue.js, you may want to start learning by looking at [the beginner tutorial](https://www.vuemastery.com/courses/intro-to-vue-js/).","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"* You can dive deeper later by checking the [Vue.js documentation](https://vuejs.org/guide/introduction.html) to learn about essential concepts such as component life cycle hooks, and component properties.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"* It is recommended if you can work on some small projects first to gain more solid understanding of Vue.js.","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"The guide above uses HTML as the component template, which is not the case with RepoSense. You may wish to learn more about [Pug](#pug) and its connection with HTML.","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"#### Vuex","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":"RepoSense uses **Vuex** for the state management of the Vue components.","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"* You can check the [Vuex guide](https://vuex.vuejs.org/guide/#the-simplest-store) to find out how Vuex can be used in a Vue project.","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"* There is also a [course](https://vueschool.io/courses/vuex-for-everyone) available that will walk you through an example of creating Vue application with Vuex.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"### Pug","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"RepoSense uses Pug files as the template of each Vue component. The corresponding HTML templates will later be generated from the Pug files by [spuild](https://github.com/ongspxm/spuild2) when generating the report.","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"Since Pug is used to generate the HTML template, it is recommended that you have a basic knowledge of HTML before starting to learn Pug. Once you understand how HTML works, you can proceed to focus on how Pug is translated into HTML.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"* You can refer to the [official documentation](https://pugjs.org/api/getting-started.html) or [this tutorial](https://www.youtube.com/watch?v\u003dkt3cEjjkCZA) to learn about the syntax of pug and how it is translated into HTML.","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"* To get a hands-on experience, here is a [Pug to HTML converter](https://pughtml.com/). Feel free to try out a couple of examples on your own.","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"### Scss","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":"SCSS is used for styling the Pug template. The corresponding CSS will later be generated from the SCSS files by [spuild](https://github.com/ongspxm/spuild2) when generating the report. The corresponding source files are in `frontend/src/styles`.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"It is recommended that you have a basic knowledge of CSS before starting to learn SCSS. Once you understand how CSS works, you can proceed to focus on how SCSS is translated into CSS.","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":"* You can refer to the [style rules](https://sass-lang.com/documentation/style-rules) to learn about the similarities and differences between SCSS and CSS.","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense frontend architecture**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":"* You may want to refer to the [frontend architecture](report.html#report-architecture) to understand the implementation.","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"* Another way for you to understand the frontend is to use **Vue.js devtools** to learn how the various Vue Components interact with each other. You can refer to the [frontend debugging guide](workflow.html#debugging-front-end) for more information.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense frontend. You can do each in a separate branch in your local copy of the code.","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Highlight the selected author name in the summary view**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" **Task 1: Highlight the selected author name in the summary view**","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`).","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" 3. You should see that, after you open the panel, the author title background on the chart panel becomes yellow, and the background of the `\u003c/\u003e` icon you clicked becomes green.","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" Make corresponding changes to `summary charts` so that in step 3, after opening the panel, the font colour of the author title (in the form of `authorDisplayName(authorName)`) on the chart panel also becomes green.","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Try to locate where the author title is in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" You can check what `activeUser` and `activeRepo` do in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" Refer to how changes are made to the title background and icon background in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 4\"\u003e","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" Some of the CSS styling for `c-summary-charts.vue` is in [`style.scss`](https://github.com/reposense/RepoSense/blob/master/frontend/src/styles/style.scss). You can add corresponding class selector if necessary.","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" Add this to `c_summary.scss`.","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" ```css","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" .active-text {","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" color: mui-color(\u0027green\u0027);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" In `c-summary-charts.vue`, locate `summary-chart__title--name`, and add the following to its `v-bind:class` attribute map.","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" \u0027active-text\u0027: user.name \u003d\u003d\u003d activeUser \u0026\u0026 user.repoName \u003d\u003d\u003d activeRepo","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add tooltip for file path in authorship panel**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" **Task 2: Add tooltip for file path in authorship panel**","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`).","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" 3. Select a random file in the authorship contribution panel, and hover your mouse on an icon on the file title, a corresponding tooltip will show up, suggesting what the purpose of the icon is. However, when you hover the mouse over the file path on the file title, there is no tool tip shown, even if clicking the path itself will also trigger some event.","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" For example, if you open the authorship contribution panel of an author in `reposense/RepoSense[master]` and hover the mouse over the triangular icon beside the file path `src/main/java/reposense/model/Author.java`, you should see a tooltip saying `Click to hide file details` above the icon. However, when you hover the mouse over the file path `src/main/java/reposense/model/Author.java`, there is no corresponding tooltip shown.","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" Make corresponding `authorship contribution panel` so that in step 3, when hovering your mouse over the file path:","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to hide file details` will show up when the file details are shown","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to show file details` will show up when the file details are not shown.","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" Try to locate where the file title and the file path are in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue).","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" You can check how tooltip is added for the triangular icon in the file title in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue).","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" You can check what `file.active` does and how it is used to switch between different tooltip messages when hovering the mouse on the corresponding icon.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" 1. In `c-authorship.vue`, locate the section that iterates through each file in `selectedFiles`.","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" 2. There is a specific portion of the section that renders the toggle icon, the file index, and the file path of the file title.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" 3. Try to locate the `span` tag that renders `file.path`, and wraps it inside a new `tooptip`.","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, use the following instructions to handle the switch of tooltip message.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"file.active\") This is the file path. Click to hide file details","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"!file.active\") This is the file path. Click to show file details","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 3: Add tooltip for commit message title in zoom panel**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" **Task 3: Add tooltip for commit message title in zoom panel**","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" 2. Randomly open the commits panel of an author.","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" 3. Select a random commit in the commits panel, and hover your mouse on the icons on the commit title, there is no tooltip shown saying that it will redirect you to a different site.","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" For example, given the [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/?search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dfalse\u0026tabOpen\u003dtrue\u0026tabType\u003dzoom\u0026zA\u003deugenepeh\u0026zR\u003dreposense%2FRepoSense%5Bmaster%5D\u0026zACS\u003d99.28792569659443\u0026zS\u003d2017-10-09\u0026zFS\u003d\u0026zU\u003d2021-04-04\u0026zMG\u003dundefined\u0026zFTF\u003dcommit\u0026zFGS\u003dgroupByRepos\u0026zFR\u003dfalse), if you hover the mouse over the commit title `README: add acknowledgements section (#978)`, there is no corresponding tooltip shown, but when you click on the commit title, you will be redirected to a different site to see the commit details.","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" Make corresponding changes to `zoom panel` so that in step 3, when hovering your mouse over the commit title, a tooltip saying `Click to view the detailed file changes in the commit` will show up on the commit title.","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" Try to locate where the commit title is in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue).","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" You can check how tooltip is added for other icons in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue).","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" Check what `selectedCommits` does and how the link and commit title of each commit is retrieved.","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" 1. In `c-zoom.vue`, locate the section that iterates through each `day` in `selectedCommits`.","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" 2. The component that helps render the commit message title should be an `a` tag which uses the `getSliceLink` method to set the link to the commit details and uses `slice.messageTitle` to show the commit message title.","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" 3. Wrap the `a` tag in a new `tooltip`.","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, add the following content to show the tooltip message.","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" span.tooltip-text Click to view the detailed file changes in the commit","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request.","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html).","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":"## DevOps","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"supermii2"},"content":"If you want to understand and contribute to the DevOps aspect of RepoSense, you can refer to the [DevOps guide](devOpsGuide.html) for more information.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":13,"supermii2":1,"sopa301":1,"-":473}},{"path":"docs/dg/projectManagement.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Project management\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"This page contains information about project management tasks. The target audience is senior developers (and above).","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"## Merging PRs","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **Use the \u0027squash and merge\u0027 option** unless the situation warrants a different option.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **For the merge commit**, follow conventions at [_GitHub conventions_ @SE-EDU](https://se-education.org/guides/conventions/github.html).","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"## Making a release on GitHub","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"Before making a release, please check the following prerequisites:","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"* Ensure that you have **JDK `11`** installed (\u003d\u003dNot other major release versions such as **JDK `12`** or **JDK `13`**\u003d\u003d).","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"* Ensure that the `JAVA_HOME` environment variable is correctly set to your JDK installation directory. You can refer to the [JDK Installation Guide](https://docs.oracle.com/cd/E19182-01/821-0917/inst_jdk_javahome_t/index.html).","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"* Ensure that you have merged the [upstream](https://github.com/RepoSense/reposense) `master` branch into both the local and upstream `release` branch according to the following steps:","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" 1. In your local repository, reset your `master` branch to be exactly the same as the upstream `master` branch.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" 1. Switch to the local `release` branch, and merge the `master` branch into it with `git merge master --no-ff` (no fast forward to keep the commit history for releases).","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" 1. Push the local `release` branch directly to the [upstream `release` branch](https://github.com/reposense/RepoSense/tree/release) (make sure you have the push access).","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"To make a release for RepoSense on GitHub, please follow the `Creating a release` section in the [GitHub Docs](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository).\u003cbr\u003e","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"Take note of the following when making the release according to the above guide:","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"* When entering a release version number, use semantic versioning with some small tweaks:","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Use `MAJOR.MINOR` as the version number when the release includes new features and/or major changes.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Use `MAJOR.MINOR.PATCH` as the version number when the release only includes bug fixes and/or minor changes.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Append `rc` to the version number to indicate that the release is a pre-release that is not ready to be used in production.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"* Enter the release title as `RepoSense vxxx` where `xxx` is the version number. Enter the release description by referring to the previous [RepoSense releases](https://github.com/reposense/RepoSense/releases).","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"* Before launching the release, generate the `RepoSense.jar` file and attach it to the release.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" 1. Switch to the `release` branch.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" 1. In the terminal, change the directory to the project root directory.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" 1. Run `gradlew --version` to check that the JDK version is 11.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" 1. Run `gradlew shadowJar`, and the Jar file will be generated at `{buildDir}/jar/`.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" 1. Check that the Jar file is working. You may need to check that the report can be generated from the Jar file both locally and remotely by following the [Generating Reports Guide](../ug/generatingReports.html).","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"After making the release, please also remember to deploy the production website using the [deploy guide](#deploying-the-production-website).","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Deploying the production website","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"We have two versions of the website:","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"1. **Production website** at https://reposense.org","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * matches the latest released version","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * deployed manually after each new release","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. **Dev website** at https://reposense.org/RepoSense","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * matches the latest `master` branch","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * deployed automatically by Travis whenever the `master` branch is updated","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"The production website differs from the dev website in some ways, e.g.,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"* It has a `CNAME` file (to indicate that it is the target destination for the `reposense.org` domain name)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Its DG pages show a warning that it is not the latest version of the DG.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"MarkBind mainly manages these variations via the `site.config` file. That is why the `site.config` file in the `release` branch is slightly different from the one in the `master` branch.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"After each release, do the following steps to deploy the production website:","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"1. Switch to the `release` branch","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"1. `cd docs`","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"1. `markbind build`","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"1. `markbind deploy` (make sure you have the push access to https://github.com/reposense/reposense.github.io)","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"1. After a few minutes, check https://reposense.org to ensure it has been updated as intended.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"## Hot patching after the release","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"If critical bugs are found in the release, take the following steps to hot patch it:","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"1. Switch to the `release` branch.","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"1. Implement the fixes, commit them, and create a pull request from your forked `release` branch to the upstream `release` branch.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"1. After merging, release a new version of RepoSense with the `release` branch according to the above guide.","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"1. Merge the `release` branch back into the `master` branch by creating a separate pull request.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":85}},{"path":"docs/dg/settingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Setting up\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"**Prerequisites:**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"* **JDK `11.0.21+9`** up to **`17`** ([download :fas-download:](https://www.oracle.com/technetwork/java/javase/downloads/index.html)).","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":"* **Node.js** **`18`** up to the latest minor version of **`19`** ([download :fas-download:](https://www.npmjs.com/get-npm)).","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"* **git `2.23`** or later ([download :fas-download:](https://git-scm.com/downloads)).","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" Type `java -version`, `node -v` and `git --version` respectively on your OS terminal and ensure that you have the correct version of each prerequisite installed.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Getting the code","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. **Fork** the [reposense/reposense](https://github.com/reposense/RepoSense) repo.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"1. **Clone** the fork to your computer.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Setting up the IDE","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"The recommended IDE is **Intellij IDEA**. While it is not compulsory to use it, note that we will not be able to help you troubleshoot IDE problems if you use any other IDE.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Ensure you have configured IDEA for the correct JDK**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijJdk.html).","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. **Import the project as a Gradle project**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijImportGradleProject.html).","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"## Verifying the setup","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"This project is already configured to use Gradle for build automation. If you are new to Gradle, see [this tutorial](https://se-education.org/guides/tutorials/gradle.html) to learn how to use it.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Open a command prompt and navigate to the project root.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Run `gradlew clean build` (`./gradlew clean build` if you on a Unix-like OS), and ensure that it finishes with a `BUILD SUCCESSFUL` message.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"1. Run the tests using the `gradlew test systemtest` command and ensure it succeeds too.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"1. You can also try running the app using code, as given in the panel below.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"{{ embed(\u0027Developer guide → **Workflow → Running the app from code**\u0027, \u0027workflow.md#section-running-from-code\u0027, level\u003d2) }}","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Before you start coding","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"... read the [Workflow](workflow.html) section.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"supermii2":1,"sopa301":1,"-":53}},{"path":"docs/dg/styleGuides.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Style guides\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"Our coding standards are mostly based on those at [se-education.org/guides](https://se-education.org/guides).","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [**CSS** coding standard](https://se-education.org/guides/conventions/css.html)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"* [**Files/folders** naming conventions](https://se-education.org/guides/conventions/files.html)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"* [**HTML** coding standard](https://se-education.org/guides/conventions/html.html)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Markdown/MarkBind** coding standard](https://se-education.org/guides/conventions/markdown.html)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"* [**Java** coding standard](https://se-education.org/guides/conventions/java/index.html)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [**JavaScript** coding standard](https://se-education.org/guides/conventions/javascript.html)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **TypeScript**: In addition to the JavaScript coding standard, follow the [**recommended ESLint rules**](https://typescript-eslint.io/rules/) and the formatting rules [described below](#typescript-specific-formatting).","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Vue Components**: Follow the [**Vue style guide**](https://vuejs.org/style-guide/), up to the **Recommended** section.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"* **Documentation**: Follow the [**Google developer documentation style guide**](https://developers.google.com/style).","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Note on Ternary Operators:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"Ternary operators can be used to shorten if-else blocks such as this:","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"LocalDateTime min \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if (!commitInfos.isEmpty()) {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" min \u003d commitInfos.get(0).getTime();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"return min;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"The result would look something like this:","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"return (commitInfos.isEmpty())","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" ? ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" : commitInfos.get(0).getTime();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"To preserve readability, it is recommended that if-else blocks should only be","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"converted to ternary operators if the resultant code can be kept at most 3 lines long","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"(in accordance to the coding standard).","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"## Additional Javadoc requirements:","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"In addition to what has been mentioned in the [**Java** coding standard (SE-EDU)](https://se-education.org/guides/conventions/java/index.html) and [**Google Java Style Guide**](https://google.github.io/styleguide/javaguide.html), we also stipulate the following standards for Javadoc:","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"* If Javadoc is written for a method, all input parameters should be described in the Javadoc, either in the description with `@code tags` or through `@param` block tags.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * If `@param` block tags are used, they must be used for all parameters.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * This is not necessary (although still recommended) for methods with `@Override` annotations if Javadoc is used. However, if the method that is being overriden is part of your code and has Javadoc, all parameters must be described.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (Only mentions zoneId parameter):","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object adjusted for timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (@param tag used only for zoneId)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"Positive Example #1:","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (No @param tags):","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"Positive Example #2:","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (@param tags used for all inputs):","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @param sinceDate The date prior to the timezone conversion.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Within the main code, if an exception is thrown in a method (both header and body) for which Javadoc is written, a `@throws` tag must be used to describe how the exception is likely to arise.","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * This requirement does not apply to test code.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * One `@throws` tag per unique exception.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * The order of exceptions in the `@throws` tag block should match that of the method\u0027s `throws` statement.","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (order of exceptions in tag block and method signature do not match):","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" // Code here","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"// Should be:","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Code here","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"## TypeScript specific formatting","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"For TypeScript specific code, such as within an `interface` or type annotations, we also stipulate the following standards:","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Use semicolons as delimiters for TypeScript interfaces and types.","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"// missing semicolon delimiter","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" name: string","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" greet(): string","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"// using incorrect delimiter","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" name: string,","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" greet(): string,","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"Positive Example:","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"// semicolon delimiter","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" name: string;","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" greet(): string;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"* For type annotations, use a space after but not before.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"let foo:string \u003d \"bar\";","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"let foo :string \u003d \"bar\";","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"let foo : string \u003d \"bar\";","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"function foo():string {}","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"function foo() :string {}","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"function foo() : string {}","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" name:string;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" name :string;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" name : string;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"Positive Examples:","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"let foo: string \u003d \"bar\";","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"function foo(): string {}","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" name: string;","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"```","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12,"-":174}},{"path":"docs/ug/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense/tree/cypress","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Cypress branch of RepoSense","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/publish-RepoSense/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Publishing branch of RepoSense","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5}},{"path":"docs/ug/cli.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: CLI syntax reference\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"The command `java -jar RepoSense.jar` takes several flags.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cbox\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Examples**:","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"An example of a command using most parameters:\u003cbr\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --output ./report_folder --since 31/1/2017 --until 31/12/2018 --formats java adoc xml --view --ignore-standalone-config --last-modified-date --timezone UTC+08 --find-previous-authors --analyze-authorship --originality-threshold 0.66`","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"Same command as above but using most parameters in alias format:\u003cbr\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar -r https://github.com/reposense/RepoSense.git -o ./report_folder -s 31/1/2017 -u 31/12/2018 -f java adoc xml -v -i -l -t UTC+08 -F -A -ot 0.66`","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"The section below provides explanations for each of the flags.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"### `--analyze-authorship`, `-A`","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`--analyze-authorship`**: Performs further analysis to distinguish between partial and full credit attribution for","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"lines of code assigned to the author.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"* Default: this feature is turned ***off*** by default and the author will receive partial credits for all lines of","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" code, as the code lines are at least partial credit but may not qualify for full credit.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"* Alias: `-A` (upper case)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"* Example: `--analyze-authorship` or `-A`","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"A darker background colour represents full credit, while a lighter background colour represents partial credit.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"If the code is attributed to a different author by the user via `@@author` tag, then the new author will be given","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"partial credit.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"### `--assets`, `-a`","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-assets\"\u003e","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"**`--assets ASSETS_DIRECTORY`**: Specifies where to place assets for report generation.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":"* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard, while a `title.md` file can be placed to customize the [title](https://reposense.org/ug/customizingReports.html#add-a-title) of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/).","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"* Alias: `-a`","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"* Example: `--assets ./assets` or `-a ./assets`","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"* If `--assets` is not specified, RepoSense looks for assets in the `./assets` directory.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"### `--config`, `-c`","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-config\"\u003e","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"**`--config CONFIG_DIRECTORY`**: Specifies that config files located in `CONFIG_DIRECTORY` should be used to customize the report.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":"* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `report-config.json` file or/and a `blurbs.md` file.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"* Alias: `-c`","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --config ./config`","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"* Cannot be used with `--repos`. The `--repos` flag will take precedence over this flag.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"* If both `--repos` and `--config` are not specified, RepoSense looks for config files in the `./config` directory.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"* Config files must follow [this](./configFiles.html) format.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"### `--formats`, `-f`","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"**`--formats LIST_OF_FORMATS`**: Specifies which file extensions to be included in the analysis.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"* Parameter: `LIST_OF_FORMATS` A space-separated list of file extensions that should be included in the analysis.\u003cbr\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" Default: all file formats","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"* Alias: `-f`","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"* Example:`--formats css fxml gradle` or `-f css fxml gradle`","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"Binary file formats, such as `jpg`, `png`,`exe`,`zip`, `rar`, `docx`, and `pptx`, all will be labelled as the file type `binary` in the generated report.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"### `--find-previous-authors`, `-F`","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"**`--find-previous-authors`**: Utilizes Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available).","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"* Default: RepoSense will assume that no authors are responsible for the code changes in the lines altered by commits in the ignore commit list.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"* Alias: `-F` (uppercase F)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"* Example:`--find-previous-authors` or `-F`","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"### `--help`, `-h`","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"**`--help`**: Shows the help message.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"* Alias: `-h`","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"### `--ignore-standalone-config`, `-i`","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"**`--ignore-standalone-config`**: Specifies that the standalone config file in the repo should be ignored.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"* Default: the standalone config file is not ignored","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"* Alias: `-i`","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"* Example:`--ignore-standalone-config` or `-i`","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore standalone config` field in the CSV config file.","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"### `--ignore-filesize-limit`, `-I`","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"**`--ignore-filesize-limit`**: Specifies that the file size limit (both default and user-defined) should be ignored during the analysis.","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"* Default: the file size limit is not ignored","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"* Alias: `-I`","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"* Example:`--ignore-filesize-limit` or `-I`","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"All files are subject to a default file size limit or a custom size limit set by the user. Most files should not be","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"affected by the default size limit. This flag can be useful for including files in your report that are affected by","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"the size limit. Note that this flag may result in large report sizes and/or slower report generation.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore file size limit` field in the CSV config file.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"### `--last-modified-date`, `-l`","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"**`--last-modified-date`**: Specifies that the last modified date of each line of code should be added to `authorship.json`.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"* Default: the last modified date of each line of code will not be added to `authorship.json`","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"* Alias: `-l` (lowercase L)","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"* Example:`--last-modified-date` or `-l`","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* Cannot be used with `--shallow-cloning`. This may result in an incorrect last modified date.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* The last modified dates will be in the same timezone specified with the `--timezone` flag.","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"### `--originality-threshold`, `-ot`","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"**`--originality-threshold [VALUE]`**: Specifies the cut-off point for partial and full credit","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"in `--analyze-authorship`. Author will be given full credit if their contribution exceeds this threshold, else partial","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"credit is given.","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"* Parameter: `VALUE` Optional. Acceptable range: [0.0, 1.0].\u003cbr\u003e","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" Default: `0.51`","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"* Alias: `-ot`","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"* Example: `--originality-threshold 0.66` or `-ot 0.66`","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"* Requires `--analyze-authorship` flag.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"* An author\u0027s contribution, or `originality score`, is calculated using Levenshtein Distance (Edit Distance) algorithm.","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" We compare the difference between current code line and its previous versions.","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"### `--output`, `-o`","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"**`--output OUTPUT_DIRECTORY`**: Indicates where to save the report generated.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"* Parameter: `OUTPUT_DIRECTORY` The location for the generated `reposense-report` folder.\u003cbr\u003e","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" Default: current directory","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"* Alias: `-o`","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"* Example: `--output ./foo` or `-o ./foo` (the report will be in the `./foo/reposense-report` folder)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"### `--period`, `-p`","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"**`--period PERIOD`**: Specifies the period of analysis window.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"* Parameter: `PERIOD` The period of analysis window, in the format `nd` (for n days) or `nw` (for n weeks). It is used to calculate end date if only start date is specified, or calculate end date if only start date is specified.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"* Alias: `-p`","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"* Example: `--period 30d` or `--period 4w`","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"* If both start date and end date are not specified, the date of generating the report will be taken as the end date.","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"* May analyze the incorrect date range if used with `--since d1`. The program will throw a warning.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"* Cannot be used with both `--since` and `--until`. The program will throw an exception.","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"### `--repo`, `--repos`, `-r`","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"**`--repo REPO_LOCATION`**: Specifies which repositories to analyze.","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"* Parameter: `REPO_LOCATION` A list of URLs or the disk location of the git repositories to analyze, separated by spaces.","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"* Alias: `-r`","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"* Examples:","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" * `--repos https://github.com/reposense/RepoSense.git`","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" * `--repo https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar`: analyzes the two specified repos (one remote, one local) and generates one report containing details of both.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"Cannot be used with `--config`. This flag takes precedence over `--config`.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"### `--shallow-cloning`, `-S`","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"**`--shallow-cloning`**: Clones repositories using Git\u0027s shallow cloning functionality, which can significantly reduce the time taken to clone large repositories. However, the flag should not be used for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead.","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"* Default: RepoSense does not clone repositories using Git\u0027s shallow cloning functionality.","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"* Alias: `-S` (uppercase S)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"* Example:`--shallow-cloning` or `-S`","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"Cannot be used with `--last-modified-date`. This may result in an incorrect last modified date.","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"### `--since`, `-s`","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"**`--since START_DATE`**: Specifies the start date for the period to be analyzed.","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"* Parameter: `START_DATE` The first day of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Default: one month before the current date","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"* Alias: `-s`","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"* Example:`--since 21/10/2017` or `-s 21/10/2017`","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"* If the start date is not specified, only commits made one month before the end date (if specified) or the date of generating the report, will be captured and analyzed.","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"* If `d1` is specified as the start date (`--since d1` or `-s d1`), then the program will search for the earliest commit date of all repositories and use that as the start date.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":"* If `d1` is specified together with `--period`, then the program will warn that the date range being analyzed may be incorrect.","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"### `--timezone`, `-t`","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"**`--timezone ZONE_ID`**: Indicates the timezone to be used for the analysis.","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"* Parameter: `ZONE_ID` The timezone in the format `ZONE_ID[±hh[mm]]`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" Default: system\u0027s default timezone","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"* Alias: `-t`","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":"* Example:`--timezone UTC+08` or `-t UTC-1030`","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"### `--until`, `-u`","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"**`--until END_DATE`**: Specifies the end date of the analysis period.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"* Parameter: `END_DATE` The last date of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Default: current date","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"* Alias: `-u`","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"* Example:`--until 21/10/2017` or `-u 21/10/2017`","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"Note: If the end date is not specified, the date of generating the report will be taken as the end date.","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"### `--version`, `-V`","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"**`--version`**: Shows the version of RepoSense.","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"* Alias: `-V` (upper case)","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags other than `--help`.","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"### `--view`, `-v`","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"**`--view [REPORT_FOLDER]`**: Specifies that the report should be opened in the default browser.","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"* Parameter: `REPORT_FOLDER` Optional. If specified, no analysis will be performed and the report specified by the argument will be opened.\u003cbr\u003e","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Default: `./reposense-report`","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"* Alias: `-v`","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"* Example:`--view` or `-v`","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"sopa301":1,"-":300}},{"path":"docs/ug/configFiles.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Config files format\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% set mandatory %}\u003cspan class\u003d\"badge bg-danger\"\u003emandatory\u003c/span\u003e{% endset %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"Given below are the details of the various config files used by RepoSense.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"**RepoSense ignores the order of column headers in the CSV config files. However, the spelling of the column headers must match the specified headers exactly, or the column would be ignored by RepoSense.**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"**A value in a config file is optional to provide unless it is specified as {{ mandatory }}**.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"## `repo-config.csv`","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`repo-config.csv` file contains repo-level config data.** Each row represents a repository\u0027s configuration ([example](repo-config.csv)).","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"|-------------|-------------|","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"| Repository\u0027s Location {{ mandatory }} | The `Remote Repo URL` or `Disk Path` to the git repository e.g., `https://github.com/foo/bar.git` or `C:\\Users\\user\\Desktop\\GitHub\\foo\\bar` |","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze in the target repository e.g., `master`. Default: the default branch of the repo |","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"| File formats\u003csup\u003e*+\u003c/sup\u003e | The file extensions to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats |","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"| Find Previous Authors | Enter **`yes`** to utilize Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available). |","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*+\u003c/sup\u003e | The list of file path globs to ignore during analysis for each author e.g., `test/**;temp/**`. Refer to the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob) for the path glob syntax. |","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"| Ignore standalone config | To ignore the standalone config file (if any) in target repository, enter **`yes`**. If the cell is empty, the standalone config file in the repo (if any) will take precedence over configurations provided in the csv files. |","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"| Ignore Commits List\u003csup\u003e*+\u003c/sup\u003e | The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive). |","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"| Ignore Authors List\u003csup\u003e*+\u003c/sup\u003e | The list of authors to ignore during analysis. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name). |","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"| Shallow Cloning | Enter **`yes`** to clone the repository using Git\u0027s shallow cloning functionality. This option can significantly reduce the time taken to clone large repositories. However, the option should ideally be disabled for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead. |","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"| File Size Limit\u003csup\u003e+\u003c/sup\u003e | Enter a file size limit for the repository in bytes as a single number without units (for a size limit of 1MB for example, enter 1000000). This file size limit will override the default file size limit (500KB). Files exceeding the file size limit will be marked as ignored and only the file name and line count will be reflected in the report. |","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"| Ignore File Size Limit | Enter **`yes`** to ignore both the default file size limit and the file size limit possibly set by the user in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"| Skip Ignored File Analysis | Enter **`yes`** to ignore analysis of files exceeding the file size limit entirely. If file analysis is skipped, all information about the file will be omitted from the generated report. This option can significantly improve report generation time. |","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"The Shallow Cloning option is incompatible with the \"--last-modified-date\" CLI flag.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"If Ignore File Size Limit is yes, the File Size Limit and Skip Ignored File Analysis columns are ignored.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e\u003c/br\u003e","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003csup\u003e+ **Overrideable column**: prepend with `override:` to use entered value(s) instead of value(s) from standalone config.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"When using [standalone config](#config-json-standalone-config-file) (if it is not ignored), it is possible to override specific values from the standalone config by prepending the entered value with `override:`.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"## `author-config.csv`","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"Optionally, you can use an `author-config.csv` (which should be in the same directory as the `repo-config.csv` file) to provide more details about the authors to analyze ([example](author-config.csv)). It should contain the following columns:","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"| Repository\u0027s Location\u003csup\u003e*\u003c/sup\u003e | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze for this author, e.g., `master`. Default: the author will be bound to all the repos in `repo-config.csv` that has the same repo\u0027s location, regardless of branch. |","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"| Author\u0027s Git Host ID\u003csup\u003e#\u003c/sup\u003e {{ mandatory }} | Username of the target author\u0027s profile on GitHub, GitLab or Bitbucket, e.g.`JohnDoe`. |","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"| Author\u0027s Emails\u003csup\u003e*\u003c/sup\u003e | Associated emails of the author. For GitHub users, this can be found in your [GitHub settings](https://github.com/settings/emails). |","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"| Author\u0027s Display Name | The name to display for the author. Default: author\u0027s username. |","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"| Author\u0027s Git Author Name\u003csup\u003e*\u003c/sup\u003e | The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name). |","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*\u003c/sup\u003e | Files to ignore for this author, in addition to files ignored by the patterns specified in `repo-config.csv`. The path glob syntax is the same as that of Ignore Glob List in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/br\u003e","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003csup\u003e# For backward compatibility, `Author\u0027s GitHub ID` is still accepted as the header in place of `Author\u0027s Git Host ID`.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"If `author-config.csv` is not given and the repo has not provided author details in a standalone config file, all the authors of the repositories within the date range specified (if any) will be analyzed.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"`author-config.csv` has some advanced syntax that can help to reduce duplication of the author\u0027s information. The syntax guide is given below:","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: `author-config.csv` advanced syntax\", \"authorConfigSyntax.md\") }}","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"## `group-config.csv`","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"Optionally, you can provide a `group-config.csv`(which should be in the same directory as `repo-config.csv` file) to provide details on any custom groupings for files in specified repositories ([example](group-config.csv)). It should contain the following columns:","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"|-------------|-------------|","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"| Repository\u0027s Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"Note that a file in a given repository should only be tagged to one group. \u003cbr\u003e","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"e.g.: `example.java` in `example-repo` can either be in the `test` group or the `code` group, but not in both `test` and `code` group. If multiple groups are specified for a given file, the latter group (i.e., `code` group) is set for the file.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"## `report-config.json`","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"You can optionally use `report-config.json` to customize report generation by providing the following information. ([example](report-config.json))","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"**Fields to provide**:","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `title`: Title of the generated report, which is also the title of the deployed dashboard. Default: \"RepoSense Report\"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-standalone\"\u003e","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"## `config.json` (standalone config file)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"Repo owners can provide the following additional information to RepoSense using a config file that we call the **_standalone config file_**:","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"* which files/authors/commits to analyze/omit","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"* which git and git host usernames belong to which authors","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"* the display of an author","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"To use this feature, add a `_reposense/config.json` to the root of your repo using the format in the example below ([another example](https://github.com/reposense/RepoSense/blob/master/_reposense/config.json)) and **commit it** (reason: RepoSense can see committed code only):","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"```json {.no-line-numbers}","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"about-us/**\", \"**index.html\"],","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"formats\": [\"html\", \"css\"],","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"ignoreCommitList\": [\"90018e49f129ce7e0abdc8b18e91c9813588c601\", \"67890def\", \"abc123..def456\"],","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"ignoreAuthorList\": [\"charlie\"],","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"authors\":","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" [","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gitId\": \"alice\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"emails\": [\"alice@example.com\", \"alicet@example.com\"],","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"displayName\": \"Alice T.\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"authorNames\": [\"AT\", \"A\"],","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"**.css\"]","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"gitId\": \"bob\"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"Note: all fields are optional unless specified otherwise.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"**Fields to provide _repository-level_ info**:","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: Folders/files to ignore, specified using the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob).","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"* `formats`: File formats to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `ignoreCommitList`: The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive).","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"* `ignoreAuthorList`: The list of authors to ignore during analysis. Authors specified in `authors` field or `author-config.csv` will be also be omitted if they are in this list. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name).","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"* `fileSizeLimit`: A file size limit for the repository in bytes as a single number without units, that will override the default file size limit. If not specified, the default file size limit will continue to be used.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"**Fields to provide _author-level_ info**:\u003cbr\u003e","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"Note: `authors` field should contain _all_ authors that should be captured in the analysis.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"* `gitId`: Username of the author. {{ mandatory }} field.","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"* `emails`: Associated git emails of the author. For GitHub, this can be found in your [GitHub settings](https://github.com/settings/emails).","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `displayName`: Name to display on the report for this author.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* `authorNames`: Git Author Name(s) used in the author\u0027s commits. By default, RepoSense assumes an author would use their remote Git Host username as the Git username too. The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name).","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: _Additional_ (i.e. on top of the repo-level `ignoreGlobList`) folders/files to ignore for a specific author. The path glob syntax is specified by the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob). In the example above, the actual `ignoreGlobList` for `alice` would be `[\"about-us/**\", \"**index.html\", \"**.css\"]`.","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"To verify your standalone configuration is as intended, add the `_reposense/config.json` to your local copy of repo and run RepoSense against it as follows:\u003cbr\u003e","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"* Format: `java -jar RepoSense.jar --repo LOCAL_REPO_LOCATION` \u003cbr\u003e","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --repo c:/myRepose/foo/bar`\u003cbr\u003e","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"After that, view the report to see if the configuration you specified in the config file is being reflected correctly in the report.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"## A note about git author name","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"`Git Author Name` refers to the customizable author\u0027s display name set in the local `.gitconfig` file. For example, in the Git Log\u0027s display:","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"``` {.no-line-numbers}","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"...","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"commit cd7f610e0becbdf331d5231887d8010a689f87c7","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"Author: ConfiguredAuthorName \u003cauthor@example.com\u003e","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:14:41 2018 +0800","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Make some changes to show my new author\u0027s name","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"commit e3f699fd4ef128eebce98d5b4e5b3bb06a512f49","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"Author: ActualGitHostId \u003cauthor@example.com\u003e","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:13:13 2018 +0800","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" Initial commit","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" ...","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"`ActualGitHostId` and `ConfiguredAuthorName` are both `Git Author Name` of the same author.\u003cbr\u003e","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"To find the author name that you are currently using for your current git repository, run the following command within your git repository:","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"git config user.name","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"To set the author name to the value you want (e.g., to set it to your GitHub username) for your current git repository, you can use the following command ([more info](https://www.git-tower.com/learn/git/faq/change-author-name-email)):","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"git config user.name \"YOUR_AUTHOR_NAME”","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"To set the author name to use a default value you want for future git repositories, you can use the following command:","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"git config --global user.name \"YOUR_AUTHOR_NAME”","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"RepoSense expects the Git Author Name to be the same as author\u0027s username on the Git hosting platform (GitHub, GitLab, BitBucket). If an author\u0027s `Git Author Name` is different from their username on the Git hosting platform, the `Git Author Name` needs to be specified in the standalone config file. If the author has more than one `Git Author Name`, multiple values can be entered too.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"Note: Symbols such as `\"`, `!`, `/` etc. in your author name will be omitted, which may reduce the accuracy of the analysis if 2 names in the repository are approximately similar.","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":"\u003cdiv id\u003d\"section-blurbs\"\u003e","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":"## `blurbs.md`","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":"You can optionally use `blurbs.md` to add blurbs in Markdown syntax for repository branches. These blurbs will be seen when grouping by `Repo/Branch`. ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/blurbs.md))","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":"**Format**:","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":"* First line in section: Link to the repository branch.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":"* Second line onwards: Blurb content.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":"* Delimiter: `\u003c!--repo--\u003e`. Everything on the line after the delimiter will be ignored.","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":"\u003c/div\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":17,"-":208}},{"path":"docs/ug/customizingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Customizing reports\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"The report can be customized using several ways, as explained below.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"### Customize using CLI flags","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"**The simplest approach is to provide additional flags when running RepoSense.** The various flags are given in the panel below.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference**\", \"cli.md\") }}","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"### Customize using CSV config files","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"**Another, more powerful, way to customize the report is by using dedicated config files.** In this case you need to use the `--config` flag instead of the `--repo` flag when running RepoSense, as follows:","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference → `config` flag**\", \"cli.md#section-config\") }}","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"**Managing config files collaboratively**: If you use RepoSense to monitor a large number of programmers, it may be more practical to get the programmers to submit PRs to update the config files as necessary (\u003ctooltip content\u003d\"a coder realizes some of her code is missing from the report because she used multiple git usernames, and wants to add the additional usernames to the config file\"\u003eexample use case\u003c/tooltip\u003e).","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"To ensure that their PRs are correct, you can use [Netlify _deploy previews_](https://www.netlify.com/blog/2016/07/20/introducing-deploy-previews-in-netlify/) to preview how the report would look like after the PR has been merged. More details are in the panels below.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → Setting up**\", \"withNetlify.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → PR previews**\", \"withNetlify.md#section-pr-previews\") }}","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"### Get target repos to provide more info","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"**If feasible, you can also customize the target repos to play well with RepoSense** in the following two ways:","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"1\\. Add a _standalone config file_ to the repo to provide more config details to RepoSense. The format of the file is given below.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Standalone config file format**\", \"configFiles.md#section-standalone\") }}","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"2\\. To have more precise control over which code segment is attributed to which author, authors can annotate their code using `@@author` tags, as explained below.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using `@@author` tags**\", \"usingAuthorTags.md\") }}","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"In both instances, it is **necessary to commit any changes** for them to be detected by RepoSense.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"3\\. Add a git `.mailmap` file at the top-level of the repository, specifying mapped authors/commiters and/or e-mail addresses as per [gitmailmap documentation](https://git-scm.com/docs/gitmailmap). Any mappings specified here will be applied by git before all other RepoSense configurations. Configuration via `.mailmap` is particularly useful if you want the mapping to apply for all git commands as well instead of just for RepoSense.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"### Personalizing Reports","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"#### Add a title","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":"A title component can be added by creating a file titled `title.md` in the assets directory. You can specify the assets directory according to the reference below:","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":"{{ embed(\"Appendix: **CLI syntax reference → `assets` flag**\", \"cli.md#section-assets\") }}","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":"The title can render a combination of Markdown/HTML and plaintext ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/title.md)), and will appear on the top of the left panel as shown below:","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":"![Title Component Example](../images/title-example.png)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":"Do note that the width of the title is bound by the width of the left panel.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":"For more information on how to use Markdown, see the [Markdown Guide](https://www.markdownguide.org/).","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":"#### Add blurbs for branches","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":"A blurb can be added for a repository branch by creating a file titled `blurbs.md` in the config directory. The blurbs will be visible when grouping by `Repo/Branch`. The format of the file is given below:","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"{{ embed(\"Appendix: **Config files format**\", \"configFiles.md#section-blurbs\") }}","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":"Specifying the config directory can be done as follows:","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"{{ embed(\"Appendix: **CLI syntax reference → `config` flag**\", \"cli.md#section-config\") }}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":9,"sopa301":13,"-":61}},{"path":"docs/ug/generatingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Generating a report\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"Let\u0027s look at different ways to generate RepoSense reports.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"* **If you have Java on your computer**, the straight-forward way to generate a report is to use the RepoSense executable to generate the report locally on your computer, as explained in the [_Generating reports locally_](#generating-reports-locally) section below.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **If you don\u0027t have Java on your computer or do not wish to run the executable on your computer**, some alternatives are provided in the [_Generating reports remotely_](#generating-reports-remotely) section below.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"RepoSense is built to analyze any type of git repo, remote or local. It works best when analyzing remote repositories hosted on GitHub, GitLab or BitBucket.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"For other types of repositories, external links are disabled.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"## Generating reports locally","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"1. **Ensure you have the prerequisites**:","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" * **Java 11** or later ([download :fas-download:](https://www.java.com/en/)).","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * **git `2.23`** or later on the command line. ([download :fas-download:](https://git-scm.com/downloads)).\u003cbr\u003e run `git --version` in your OS terminal to confirm the version.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Download the latest JAR file** from our [releases](https://github.com/reposense/RepoSense/releases/latest).","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. **Generate a report**: The simplest use case for RepoSense is to generate a report for the recent history of a repo.\u003cbr\u003e","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" command: `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view`\u003cbr\u003e","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" Examples:","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view` (note the `.git` at the end of the repo URL)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" * `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar --view` analyzes the two specified repos (one remote, one local).","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" The above commands will analyze the given repo(s) for commits done within \u003d\u003dthe last month\u003d\u003d and open the report in your default Browser.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"**To learn how to generate a report using \u003ctooltip content\u003d\"e.g., generate a report for a different period, for specific file types, for specific authors, etc.\"\u003eother settings\u003c/tooltip\u003e**, head over to the [_**Customizing reports**_](customizingReports.html) section.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"## Generating reports remotely","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"**You can generate a RepoSense report remotely without installing/running anything on your computer.** This is particularly useful when you are deciding whether to adopt RepoSense.","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"**The easiest option is to use Netlify.** The instructions are given below.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with Netlify → Setting up**\", \"withNetlify.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"**You can also use the following options.** While they are more work to set up, they are more suitable as a permanent solution due to their generous free tier.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with GitHub Actions → Setting up**\", \"withGithubActions.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with Travis → Setting up**\", \"withTravis.md#section-setting-up\") }}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"docs/ug/title.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"# RepoSense","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":"RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members.","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":"## Features","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":"- Repository analysis: Gain a comprehensive overview of your codebase, including commit statistics, file changes, and code ownership.","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":"- Contribution tracking: Easily track the contributions made by each team member, including the number of commits, lines of code added/removed, and more.","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":"- Visualization: Visualize your repository\u0027s history and changes over time through interactive graphs and charts.","isFullCredit":false}],"authorContributionMap":{"sopa301":9}},{"path":"docs/ug/troubleshooting.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Troubleshooting\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"### Contributions missing in the ramp chart (but appear in the contribution bar and code panel)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"This is probably a case of giving an incorrect author name alias (or Git ID) in your [author-config file](./configFiles.md#author-config-csv).\u003cbr\u003e","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"Please refer to [A Note About Git Author Name](./configFiles.md#a-note-about-git-author-name) above on how to find out the correct author name you are using and how to change it.\u003cbr\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"Also, ensure that you have added all author name aliases you may be using (if you are using multiple computers or have previously changed your author name).\u003cbr\u003e","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"Alternatively, you may choose to configure *RepoSense* to track the email associated with your local Git config or remote Git host email in a [standalone config file](./configFiles.md#config-json-standalone-config-file) or [author-config file](./configFiles.md#author-config-csv), which is more accurate compared to author name aliases. For GitHub, the associated email you are using can be found in your [GitHub settings](https://github.com/settings/emails).","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"### Contribution bar and code panel is empty (despite a non-empty ramp chart)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"The contribution bar and code panel records the lines you have authored to the **latest** commit of the repository and branch you are analyzing. As such, it is possible that while you have lots of committed contributions, your final authorship contribution is low. This happens if you have only deleted lines or someone else has overwritten your code and taken authorship for it (currently, RepoSense does not have the functionality to track overwritten lines).\u003cbr\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"It is also possible that another user has overridden the authorship of your lines using the [@@author tags](./usingAuthorTags.md#appendix-using-author-tags).","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"### RepoSense is not using the standalone config file in my local repository","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"Ensure that you have committed the changes to your standalone config file first before running the analysis, as *RepoSense* is unable to detect uncommitted changes to your local repository.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"### RepoSense fails on Windows (but works on Linux/Mac OS)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"Possibly, you may have some file names with [special characters](https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#naming-conventions) in them, which is disallowed in Windows OS. As such, *RepoSense* is unable to clone your repository fully, thus failing the analysis.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"### Some file types are not shown in the file type filter even if I have included them in the file formats when generating the report","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"The files of these types may be [binary files](https://en.wikipedia.org/wiki/Binary_file). *RepoSense* will group binary files under one single file type `binary`. Common binary files include images (`.jpg`, `.png`), applications (`.exe`), zip files (`.zip`, `.rar`) and certain document types (`.docx`, `.pptx`).","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":"### RepoSense doesn\u0027t work on the browser","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":"RepoSense uses ES6, a version of JavaScript widely supported by [most browsers](https://caniuse.com/?search\u003des6). Please use RepoSense with a browser that supports ES6.","isFullCredit":false}],"authorContributionMap":{"sopa301":6,"-":42}},{"path":"docs/ug/usingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using reports\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"Let\u0027s look at how to view, interpret, and interact with a RepoSense report.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"## Viewing the report","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"As a report consists of web pages, it can be viewed using a Web Browser. Here are the ways to view the report in different situations.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Situation 1: The report has been hosted on a website**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Simply go to the URL of the report ([example](https://nus-cs2113-ay1920s2.github.io/tp-dashboard)) in your browser.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"* **Situation 2: You generated the report in your computer earlier**","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Run RepoSense with the `--view` option:\u003cbr\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Format: `java -jar RepoSense.jar --view REPORT_FOLDER`\u003cbr\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" e.g., `java -jar RepoSense.jar --view ./myReport/reposense-report`","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"* **Situation 3: The report was given to you as a zip file or as a folder**","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" 1. If it is a zip file, unzip it.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" 1. Open the `index.html` (in the unzipped report directory) using a browser.","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" 1. If the report was not loaded automatically, click on the `choose file` button in the shown web page, and select the `archive.zip` (in the same directory) manually.\u003cbr\u003e","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" If even the `choose file` button is not showing up, try a different browser.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"## Report structure","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"Here is an example of how a typical report looks like:","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"![report](../images/report-features.png)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"The report is divided into two sections: [_**Chart panel**_](#chart-panel) and the [_**Code panel**_](#code-panel). In some situations, the [_**Commits panel**_](#commits-panel) will appear in place of the _code panel_. All three are explained in the sections below.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"Links to external webpages (repository link, author\u0027s profile, blame view, etc.) is only properly supported when RepoSense analyzes a remote repository belonging to GitHub, GitLab or BitBucket.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"## Chart panel","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"![Ramp Charts](../images/rampchart.png)\u003cbr\u003e","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"The `Chart panel` (an example is shown above) contains a series of _ramp chart_ + _contribution bar_ pairs, possibly organized into sub-groups, with a _tool bar_ at the top.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"#### Ramp charts","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"**Ramp chart**: This is a visualization of the frequency and quantity of contributions of an author for a specific repository. Each ramp chart (i.e., light blue rectangle) represents an author\u0027s contribution timeline for a particular repository. Contributions appear as ramps in the timeline.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"**Ramp**: The name we use to refer to the triangular saw-tooth-like shape that represents a code contribution. A ramp can represent a single commit, a sum of the commits done in a certain period, depending on the granularity used.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"* The ramp\u0027s area is proportional to the amount of contribution the author made at that time period.","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"* The position of the right edge of the ramp (perpendicular to the blue bar) represents the period (the day or the week) in which the contribution was made.","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Hover the pointer over a ramp to see the total number of lines represented by that ramp.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"* Click on the ramp to view details about the list of commits represented in the ramp.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * At the commit-level of granularity, it links to the commit in the remote repository.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" * At higher levels of granularity, it displays the list of commits in the Code Panel.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"* To make the comparison between two authors easier, the color of the ramps that represent different authors\u0027 contributions at the same time period are the same.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Ramps representing big contributions can overlap with earlier time periods. This represents the possibility that if the work committed during a specific period is big, it could have started at an earlier time period.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"#### Contribution bars","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"**Contribution bar**: It\u0027s the bar that appears below each ramp chart. Its length represents the total amount of code contributed by an author during the _total analysis period_.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"* Hover over a contribution bar to see the exact amount of the contribution.","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"* If an author contributed significantly higher than other authors, the contribution bar could _overflow_ into multiple lines.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"We allow contribution bars to overflow into multiple lines (rather than adjust the scale to fit the maximum bar length) to prevent a minority of \u003ctooltip content\u003d\"i.e., those contributing an unusually high amount of code\"\u003eoutliers\u003c/tooltip\u003e from affecting the scale of the majority.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"#### Tool bar","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"The `Tool Bar` at the top of the Chart panel provides a set of configuration options that control the Chart panel.","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"* `Search`: filters the author and repository by keywords.","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Multiple keywords/terms can be used, separated by spaces.","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Entries that contain _any_ (not necessarily _all_) of the search terms will be displayed.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" * The keywords used to filter the author and repository are case-insensitive.","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" * Starting a search with `tag:` will filter author and repository by git tags. Similar search rules as above (like separating multiple tag names by space) apply.","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"* `Group by`: grouping criteria for the rows of results.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * `None`: results will not be grouped in any particular way.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * `Repo/Branch`: results will be grouped by repositories and its\u0027 associating branches.","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * `Author`: results will be grouped by the name of the author. Contributions made to multiple repositories by a particular author will be grouped under the author.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"* `Sort groups by`: sorting criteria for the main group. See note [1] below.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * `Group title`: groups will be sorted by the title of the group (in bold text) in alphabetical order.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * `Contribution`: groups will be sorted by the combined contributions within a group, in the order of number of lines added.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * `Variance`: groups will be sorted by how far the daily contributions are spread out from their average value among all authors involved. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance).","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"* `Sort within groups by`: sorting criteria within each group.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * `Title`: each group will be internally sorted by its title in alphabetical order.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * `Contribution`: each group will be internally sorted by individual contributions in the order of number of lines added.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * `Variance`: each group will be internally sorted by how far the daily contributions are spread out from their average value by each author into a particular repo. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance).","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"* `Granularity`: the period of time for which commits are aggregated in the Ramp Chart.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" * `Commit`: each commit made is shown as one ramp.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * `Day`: commits within a day (commits made within 00:00 to 23:59) are shown as one ramp.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * `Week`: commits within a week (from Monday 00:00 to Sunday 23:59) are shown as one ramp.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"* `Since`, `Until`: the date range for the Ramp Chart (not applied to the Contribution Bars).","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `Reset date range`: resets the date range of the Ramp Chart to the default date range.","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"* `Breakdown by file type`: toggles the contribution bar to either display the bar by :","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" * the total lines of codes added (if the checkbox is left unchecked), or","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * a breakdown of the number of lines of codes added to each file type (if the checkbox is checked). More info on note [3] below.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"* `Merge group`: merges all the ramp charts of each group into a single ramp chart; aggregates the contribution of each group.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * viewing of authored code of the group as a whole is available when `group by repos`.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":"* `Show tags`: shows the tags of all the repos under a group","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"* `Trim timeline`: trims the starting and ending portion of each ramp where no commits were made; only the part of each ramp where commits were made will be shown.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"Notes:\u003cbr\u003e","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"[1] **`Sort groups by`**: each main group has its own index and percentile according to its ranking position after sorting (e.g., if the groups are sorted by contribution in descending order, a 25% percentile indicates that the group is in the top 25% of the whole cohort in terms of contribution)\u003cbr\u003e.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"[2] **`Repo/Branch`**: the repo/branch name is constructed as `ORGANIZATION/REPOSITORY[BRANCH]` (e.g., `reposense/reposense[master]`)\u003cbr\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"[3] The total contribution of each group will get updated based on the checked file types and will be taken into account when the sorting criteria is contribution.","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"**RepoSense support _intelligent_ bookmarks**: Note how the browser URL changes as you modify settings in the report. If you send that URL to someone else, that person will be able to use that URL to view the report in the same _view configuration_ you had when you copied the URL. For example, [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/) and [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/#search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d2020-03-01\u0026timeframe\u003dday\u0026mergegroup\u003dtrue\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dtrue) give two different views of the same report.","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"## Code panel","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/code-panel.png\" alt\u003d\"code panel\" width\u003d\"468\"\u003e","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"The `Code panel` allows users to see the code attributed to a specific author. Click on the `\u003c/\u003e` icon beside the author\u0027s name in the `Chart panel` to display the `Code panel` on the right.","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"* The Code panel shows the files that contain the author\u0027s contributions, sorted by the number of lines written.","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"* Select the radio button to enable one of the following 2 filters. Note that only 1 of the 2 filters is active at any time.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Type file path glob in glob filter to include files matching the glob expression.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Select the checkboxes to include files of preferred file extensions.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" The number right beside the file extension shows the total number of lines written by the author in such file extension files. In contrast, the number inside the parenthesis indicates the number of non-blank lines written by the author.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"* Clicking the file title toggles the file content.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"* Clicking the first icon beside the file title opens the history view of the file on the remote repository.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"* Clicking the second icon beside the file title opens the blame view of the file on the remote repository.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"* When using the code panel for a specific author, code attributed to the author is highlighted in green.","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * When using the `merge group` option with `group by repos`, the code panel will consist of multiple authors\u0027 contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"* Non-trivial code segments that the selected author has not written are hidden by default, but you can toggle them by clicking on the %%:fas-plus-circle:%% icon.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"Changing binary files, such as images (`.jpg`, `.png`), applications (`.exe`), zip files (`.zip`, `.rar`) and certain document types (`.docx`, `.pptx`), is not counted towards the total number of lines of code contributed by an author.","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"## Commits panel","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/commits-panel.png\" alt\u003d\"commits panel\" width\u003d\"468\"\u003e","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"The `Commits panel` allows users to see the commits attributed to a specific author.","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* To view all commits attributed to an author, locate the author\u0027s ramp chart in the chart panel, and click on the %%:fas-list-ul:%% icon above the ramp chart.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* To view commits of a specific period, locate the author\u0027s ramp chart in the chart panel, hold down the \u003ckbd\u003eCtrl\u003c/kbd\u003e key (\u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e in MacOS), and click on the start and end positions of the period (on the ramp chart) you want to view. \u003cbr\u003e","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"![Opening commits panel](../images/opening-commits-panel.gif)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"* The commits can be sorted by the date it was committed or by LoC.","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"* The tags of the commits will also be displayed on top if any. Clicking on a tag will direct you to the commit having that particular tag.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"* The date range for the `Chart panel` can be updated by clicking on the \"Show ramp chart for this period\" below the name of the author.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"* The ramp chart at the top of the `Commits panel` represents individual commits (not weekly or daily contributions).","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"* The commit messages body can be expanded or collapsed by clicking on the %%:fas-ellipsis-h:%% icon beside each commit message title.","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"* To promote and encourage the 50/72 rule for commit messages, a dotted vertical line will be shown for:","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Commit message subject that exceeds 50 characters.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Commit message body after the 72nd character mark.","isFullCredit":false}],"authorContributionMap":{"-":173,"jonasongg":3}},{"path":"frontend/.eslintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"env\": {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"browser\": true,","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" \"node\": true,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" \"es2022\": true","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"airbnb-base\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"plugin:vue/recommended\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"@vue/typescript\",","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" \"plugin:import/typescript\",","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"plugin:@stylistic/disable-legacy\"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"plugins\": [","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"@stylistic\"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"vue/component-definition-name-casing\": [","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"kebab-case\"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"vue/require-prop-types\": 0,","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"no-param-reassign\": 0,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"@stylistic/arrow-parens\": [","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"always\"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indent\": [","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" 2,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"ignoredNodes\": [","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"ConditionalExpression\"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"prefer-destructuring\": 0,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"func-names\": [","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"as-needed\"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"no-alert\": 0,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"@stylistic/linebreak-style\": 0,","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@stylistic/max-len\": [","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"code\": 120","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"prefer-object-spread\": 0,","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"@stylistic/function-call-argument-newline\": 0,","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"vue/no-computed-properties-in-data\": 0,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"import/extensions\": [","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"js\": \"never\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"ts\": \"never\"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"parserOptions\": {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"parser\": \"@typescript-eslint/parser\"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"overrides\": [","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"files\": [\"*.ts\"],","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"airbnb-typescript/base\",","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"plugin:@typescript-eslint/recommended\",","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"plugin:@stylistic/disable-legacy\"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"parserOptions\": {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"project\": [\"./tsconfig.json\"]","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indent\": [","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" 2,","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"ignoredNodes\": [","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"ConditionalExpression\"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"@stylistic/member-delimiter-style\": \"error\",","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"@stylistic/type-annotation-spacing\": \"error\",","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": [","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"error\",","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"default\": \"array-simple\",","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"array-simple\"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" \"files\": [\"*.vue\"],","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": [","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"error\",","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"default\": \"generic\",","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"generic\"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"supermii2"},"content":" \"no-unused-vars\": \"off\",","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"supermii2"},"content":" \"@typescript-eslint/no-unused-vars\": [\"error\"]","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"supermii2":2,"sopa301":36,"-":73}},{"path":"frontend/.stylelintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"plugins\": [","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"stylelint-order\"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\",","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-vue\"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"declaration-no-important\": true,","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"declaration-block-single-line-max-declarations\": 1,","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"no-invalid-double-slash-comments\": true,","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"function-no-unknown\": null,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"no-descending-specificity\": null,","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"selector-type-no-unknown\": null,","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"at-rule-no-unknown\": null,","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"no-duplicate-selectors\": null,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"length-zero-no-unit\": true,","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"value-keyword-case\": \"lower\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"selector-type-case\": \"lower\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"color-no-invalid-hex\": true,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"string-no-newline\": true,","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"unit-no-unknown\": true,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"property-no-unknown\": true,","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"block-no-empty\": true,","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"comment-no-empty\": true,","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"shorthand-property-no-redundant-values\": null,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"declaration-empty-line-before\": null,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"selector-class-pattern\": null,","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"color-function-notation\": null,","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"alpha-value-notation\": null,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"comment-empty-line-before\": null,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"property-no-vendor-prefix\": null,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"selector-pseudo-element-colon-notation\": null,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"at-rule-empty-line-before\": null,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"font-family-name-quotes\": null,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"color-hex-length\": null,","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-extra-semicolons\": true,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-leading-zero\": \"never\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-no-trailing-zeros\": null,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"@stylistic/property-case\": \"lower\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@stylistic/string-quotes\": \"single\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-after\": \"always\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@stylistic/selector-list-comma-newline-after\": \"always\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-eol-whitespace\": true,","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indentation\": 2,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"@stylistic/block-opening-brace-space-before\": \"always\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-before\": \"never\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"order/properties-alphabetical-order\": true,","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"scss/no-global-function-names\": null,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-no-partial-leading-underscore\": null,","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-partial-extension\": null,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"scss/load-no-partial-leading-underscore\": null,","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-empty-line-before\": null,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-whitespace-inside\": null,","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"scss/dollar-variable-pattern\": null","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":42,"-":18}},{"path":"frontend/cypress/config/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense/tree/cypress","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"first blurb","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://gitlab.com/reposense/testrepo-gitlab/-/tree/main","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"unseen blurb","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/publish-RepoSense/tree/master","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"## third blurb in h2 markdown tag","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense-auth-helper/tree/master","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"\u003ch1\u003esecond blurb in h1 tag\u003c/h1\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":11}},{"path":"frontend/cypress/cypress.config.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const { defineConfig } \u003d require(\u0027cypress\u0027)","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"module.exports \u003d defineConfig({","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" fixturesFolder: false,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" video: false,","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" defaultCommandTimeout: 30000,","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageLoadTimeout: 400000,","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" e2e: {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" setupNodeEvents(on, config) {},","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" baseUrl: \u0027http://localhost:9000\u0027,","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" chromeWebSecurity: false,","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" specPattern: \u0027tests/**/*.cy.{js,jsx,ts,tsx}\u0027,","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" supportFile: \u0027support.js\u0027,","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"})","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":14}},{"path":"frontend/cypress/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":" \"name\": \"cypress\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 2,","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"requires\": true,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" \"packages\": {","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" \"\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" \"node_modules/@colors/colors\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\",","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.1.90\"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/request\": {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"aws-sign2\": \"~0.7.0\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"aws4\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"caseless\": \"~0.12.0\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"~1.0.6\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"extend\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"forever-agent\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"form-data\": \"~2.3.2\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"http-signature\": \"~1.3.6\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"is-typedarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"isstream\": \"~0.1.2\",","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"json-stringify-safe\": \"~5.0.1\",","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"~2.1.19\",","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"performance-now\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"qs\": \"6.10.4\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"tough-cookie\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"tunnel-agent\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"^8.3.2\"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb\": {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"lodash.once\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb/node_modules/debug\": {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/node\": {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"version\": \"18.18.3\",","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\",","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\",","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sinonjs__fake-timers\": {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sizzle\": {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.4\",","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\",","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\",","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yauzl\": {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.1\",","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\",","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"node_modules/aggregate-error\": {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\",","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"clean-stack\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"indent-string\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-colors\": {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\",","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-escapes\": {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.2\",","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.21.3\"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"sopa301"},"content":" \"node_modules/arch\": {","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"sopa301"},"content":" \"node_modules/asn1\": {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.6\",","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\",","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"~2.1.0\"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"sopa301"},"content":" \"node_modules/assert-plus\": {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8\"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"node_modules/astral-regex\": {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"sopa301"},"content":" \"node_modules/async\": {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.4\",","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\",","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"sopa301"},"content":" \"node_modules/asynckit\": {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"sopa301"},"content":" \"node_modules/at-least-node\": {","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws-sign2\": {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.7.0\",","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws4\": {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.0\",","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\",","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\",","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"sopa301"},"content":" \"node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\",","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"sopa301"},"content":" \"node_modules/base64-js\": {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.1\",","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\",","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\",","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"sopa301"},"content":" \"node_modules/bcrypt-pbkdf\": {","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\",","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"^0.14.3\"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"sopa301"},"content":" \"node_modules/blob-util\": {","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"sopa301"},"content":" \"node_modules/bluebird\": {","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.7.2\",","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"sopa301"},"content":" \"node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer\": {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.1\",","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\",","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"sopa301"},"content":" \"base64-js\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"sopa301"},"content":" \"ieee754\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer-crc32\": {","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.13\",","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\",","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"sopa301"},"content":" \"node_modules/cachedir\": {","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\",","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"sopa301"},"content":" \"node_modules/call-bind\": {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"node_modules/caseless\": {","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.12.0\",","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk\": {","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"sopa301"},"content":" \"node_modules/check-more-types\": {","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.24.0\",","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\",","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\",","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"sopa301"},"content":" \"node_modules/ci-info\": {","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\"","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"sopa301"},"content":" \"node_modules/clean-stack\": {","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-cursor\": {","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"sopa301"},"content":" \"restore-cursor\": \"^3.1.0\"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-table3\": {","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\",","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\",","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"sopa301"},"content":" \"node\": \"10.* || \u003e\u003d 12.*\"","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"@colors/colors\": \"1.5.0\"","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-truncate\": {","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-name\": {","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"sopa301"},"content":" \"node_modules/colorette\": {","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.20\",","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"sopa301"},"content":" \"node_modules/combined-stream\": {","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.8\",","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"delayed-stream\": \"~1.0.0\"","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"sopa301"},"content":" \"node_modules/commander\": {","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\",","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"node_modules/common-tags\": {","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.8.2\",","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0.0\"","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"node_modules/concat-map\": {","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"sopa301"},"content":" \"node_modules/core-util-is\": {","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"sopa301"},"content":" \"node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\",","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"sopa301"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"sopa301"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"sopa301"},"content":" \"node_modules/cypress\": {","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\",","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\",","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\",","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"sopa301"},"content":" \"@cypress/request\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"sopa301"},"content":" \"@cypress/xvfb\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"sopa301"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\",","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"sopa301"},"content":" \"@types/sizzle\": \"^2.3.2\",","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"sopa301"},"content":" \"arch\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"sopa301"},"content":" \"blob-util\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"sopa301"},"content":" \"bluebird\": \"^3.7.2\",","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\",","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"sopa301"},"content":" \"cachedir\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"check-more-types\": \"^2.24.0\",","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"sopa301"},"content":" \"cli-table3\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^6.2.1\",","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"sopa301"},"content":" \"common-tags\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"sopa301"},"content":" \"dayjs\": \"^1.10.4\",","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"^2.3.6\",","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"sopa301"},"content":" \"eventemitter2\": \"6.4.7\",","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"sopa301"},"content":" \"execa\": \"4.1.0\",","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"sopa301"},"content":" \"executable\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"2.0.1\",","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"sopa301"},"content":" \"figures\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"sopa301"},"content":" \"fs-extra\": \"^9.1.0\",","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"sopa301"},"content":" \"getos\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"is-installed-globally\": \"~0.4.0\",","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"lazy-ass\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"sopa301"},"content":" \"listr2\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"sopa301"},"content":" \"log-symbols\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"sopa301"},"content":" \"minimist\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"sopa301"},"content":" \"ospath\": \"^1.2.2\",","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"sopa301"},"content":" \"pretty-bytes\": \"^5.6.0\",","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"sopa301"},"content":" \"process\": \"^0.11.10\",","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"sopa301"},"content":" \"proxy-from-env\": \"1.0.0\",","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"sopa301"},"content":" \"request-progress\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.3\",","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^8.1.1\",","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"sopa301"},"content":" \"tmp\": \"~0.2.1\",","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"sopa301"},"content":" \"untildify\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"bin/cypress\"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || ^18.0.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"sopa301"},"content":" \"node_modules/dashdash\": {","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.14.1\",","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\",","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"sopa301"},"content":" \"node_modules/dayjs\": {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.10\",","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\",","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"sopa301"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug/node_modules/ms\": {","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"node_modules/delayed-stream\": {","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"sopa301"},"content":" \"node_modules/ecc-jsbn\": {","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\",","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"sopa301"},"content":" \"node_modules/emoji-regex\": {","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\",","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"sopa301"},"content":" \"node_modules/end-of-stream\": {","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.4\",","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\",","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"sopa301"},"content":" \"node_modules/enquirer\": {","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\",","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"sopa301"},"content":" \"ansi-colors\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"sopa301"},"content":" \"node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"sopa301"},"content":" \"node_modules/eventemitter2\": {","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.4.7\",","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\",","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"sopa301"},"content":" \"node_modules/execa\": {","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\",","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"sopa301"},"content":" \"cross-spawn\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"sopa301"},"content":" \"human-signals\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"sopa301"},"content":" \"is-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"sopa301"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"sopa301"},"content":" \"npm-run-path\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"sopa301"},"content":" \"strip-final-newline\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"sopa301"},"content":" \"node_modules/executable\": {","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"sopa301"},"content":" \"pify\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"sopa301"},"content":" \"node_modules/extend\": {","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"sopa301"},"content":" \"node_modules/extract-zip\": {","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\",","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"cli.js\"","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.17.0\"","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"sopa301"},"content":" \"@types/yauzl\": \"^2.9.1\"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"node_modules/extsprintf\": {","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\",","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"sopa301"},"content":" \"node_modules/fd-slicer\": {","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\",","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"pend\": \"~1.2.0\"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"sopa301"},"content":" \"node_modules/figures\": {","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\",","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"node_modules/forever-agent\": {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"sopa301"},"content":" \"node_modules/form-data\": {","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"sopa301"},"content":" \"asynckit\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"^2.1.12\"","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.12\"","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra\": {","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"sopa301"},"content":" \"at-least-node\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"sopa301"},"content":" \"jsonfile\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra/node_modules/universalify\": {","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs.realpath\": {","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\",","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"sopa301"},"content":" \"node_modules/function-bind\": {","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-intrinsic\": {","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"sopa301"},"content":" \"has\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-stream\": {","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\",","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\",","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"sopa301"},"content":" \"pump\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"sopa301"},"content":" \"node_modules/getos\": {","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"sopa301"},"content":" \"async\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"sopa301"},"content":" \"node_modules/getpass\": {","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.7\",","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\",","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob\": {","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"sopa301"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"sopa301"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-dirs\": {","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\",","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"sopa301"},"content":" \"ini\": \"2.0.0\"","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"sopa301"},"content":" \"node_modules/graceful-fs\": {","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.11\",","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"node_modules/has\": {","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4.0\"","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-proto\": {","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\",","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-symbols\": {","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\",","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"sopa301"},"content":" \"node_modules/http-signature\": {","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.6\",","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\",","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"sopa301"},"content":" \"jsprim\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"sopa301"},"content":" \"sshpk\": \"^1.14.1\"","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"sopa301"},"content":" \"node_modules/human-signals\": {","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.12.0\"","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"sopa301"},"content":" \"node_modules/ieee754\": {","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1019,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":1020,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1021,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1022,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":1023,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":1024,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1025,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1026,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":1027,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":1028,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1029,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1030,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"node_modules/indent-string\": {","isFullCredit":false},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1033,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1034,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1035,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1036,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1037,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1038,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1039,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1040,"author":{"gitId":"sopa301"},"content":" \"node_modules/inflight\": {","isFullCredit":false},{"lineNumber":1041,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":1042,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",","isFullCredit":false},{"lineNumber":1043,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1044,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1045,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1046,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1049,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1050,"author":{"gitId":"sopa301"},"content":" \"node_modules/inherits\": {","isFullCredit":false},{"lineNumber":1051,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":1052,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",","isFullCredit":false},{"lineNumber":1053,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1054,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1055,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1056,"author":{"gitId":"sopa301"},"content":" \"node_modules/ini\": {","isFullCredit":false},{"lineNumber":1057,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1058,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1059,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1060,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1063,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1064,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1065,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-ci\": {","isFullCredit":false},{"lineNumber":1066,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":1067,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":1068,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1069,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1070,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1071,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":1072,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1073,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1074,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"bin.js\"","isFullCredit":false},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1077,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":1078,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1079,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1080,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1081,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1082,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1083,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1084,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1085,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1086,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-installed-globally\": {","isFullCredit":false},{"lineNumber":1087,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1088,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":1089,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1090,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1091,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1092,"author":{"gitId":"sopa301"},"content":" \"global-dirs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":1093,"author":{"gitId":"sopa301"},"content":" \"is-path-inside\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":1094,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1095,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1096,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1099,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1100,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1101,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1102,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-path-inside\": {","isFullCredit":false},{"lineNumber":1103,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":1104,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":1105,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1106,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1107,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1109,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1110,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1111,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-stream\": {","isFullCredit":false},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":1114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1116,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1118,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1119,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1120,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1121,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1122,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1123,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-typedarray\": {","isFullCredit":false},{"lineNumber":1124,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1125,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1128,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1129,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-unicode-supported\": {","isFullCredit":false},{"lineNumber":1130,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":1131,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\",","isFullCredit":false},{"lineNumber":1132,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1133,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1134,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1135,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1136,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1137,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1138,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1139,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1140,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"node_modules/isexe\": {","isFullCredit":false},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1143,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1144,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1145,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1146,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1147,"author":{"gitId":"sopa301"},"content":" \"node_modules/isstream\": {","isFullCredit":false},{"lineNumber":1148,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":1149,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":1150,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1151,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1152,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1153,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsbn\": {","isFullCredit":false},{"lineNumber":1154,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",","isFullCredit":false},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1157,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1158,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1159,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-schema\": {","isFullCredit":false},{"lineNumber":1160,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":1162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1163,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1164,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1165,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-stringify-safe\": {","isFullCredit":false},{"lineNumber":1166,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":1167,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":1168,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1169,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile\": {","isFullCredit":false},{"lineNumber":1172,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":1173,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",","isFullCredit":false},{"lineNumber":1174,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1175,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1176,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1177,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":1178,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1179,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":1180,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.1.6\"","isFullCredit":false},{"lineNumber":1181,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1182,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1183,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile/node_modules/universalify\": {","isFullCredit":false},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1185,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1186,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1187,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1188,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1189,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":1190,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1191,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1192,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsprim\": {","isFullCredit":false},{"lineNumber":1193,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":1194,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":1195,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1196,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1197,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":1198,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":1199,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1200,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1201,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1202,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"1.3.0\",","isFullCredit":false},{"lineNumber":1203,"author":{"gitId":"sopa301"},"content":" \"json-schema\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1204,"author":{"gitId":"sopa301"},"content":" \"verror\": \"1.10.0\"","isFullCredit":false},{"lineNumber":1205,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1206,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1207,"author":{"gitId":"sopa301"},"content":" \"node_modules/lazy-ass\": {","isFullCredit":false},{"lineNumber":1208,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":1209,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\",","isFullCredit":false},{"lineNumber":1210,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1211,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1212,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1213,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e 0.8\"","isFullCredit":false},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1216,"author":{"gitId":"sopa301"},"content":" \"node_modules/listr2\": {","isFullCredit":false},{"lineNumber":1217,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.14.0\",","isFullCredit":false},{"lineNumber":1218,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\",","isFullCredit":false},{"lineNumber":1219,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1221,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1222,"author":{"gitId":"sopa301"},"content":" \"cli-truncate\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":1223,"author":{"gitId":"sopa301"},"content":" \"colorette\": \"^2.0.16\",","isFullCredit":false},{"lineNumber":1224,"author":{"gitId":"sopa301"},"content":" \"log-update\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1225,"author":{"gitId":"sopa301"},"content":" \"p-map\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1226,"author":{"gitId":"sopa301"},"content":" \"rfdc\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":1227,"author":{"gitId":"sopa301"},"content":" \"rxjs\": \"^7.5.1\",","isFullCredit":false},{"lineNumber":1228,"author":{"gitId":"sopa301"},"content":" \"through\": \"^2.3.8\",","isFullCredit":false},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":1230,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1231,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1232,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":1233,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1234,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1235,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"\u003e\u003d 2.3.0 \u003c 3\"","isFullCredit":false},{"lineNumber":1236,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1237,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1238,"author":{"gitId":"sopa301"},"content":" \"enquirer\": {","isFullCredit":false},{"lineNumber":1239,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1240,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1241,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1242,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1243,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash\": {","isFullCredit":false},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":1245,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",","isFullCredit":false},{"lineNumber":1246,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1247,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1248,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1249,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.once\": {","isFullCredit":false},{"lineNumber":1250,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":1251,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":1252,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1253,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1254,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1255,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-symbols\": {","isFullCredit":false},{"lineNumber":1256,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":1257,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":1258,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1259,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1261,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1262,"author":{"gitId":"sopa301"},"content":" \"is-unicode-supported\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":1263,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1264,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1265,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1266,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1267,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1268,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1269,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1270,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1271,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update\": {","isFullCredit":false},{"lineNumber":1272,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1273,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1274,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1275,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"ansi-escapes\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":1278,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":1279,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1280,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^6.2.0\"","isFullCredit":false},{"lineNumber":1281,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1282,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1283,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1284,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1285,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1286,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1287,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1288,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1289,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":1290,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1295,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1296,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":1297,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1298,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1299,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1300,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1301,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1302,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1303,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1304,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1305,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.0\",","isFullCredit":false},{"lineNumber":1308,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\",","isFullCredit":false},{"lineNumber":1309,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1310,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1311,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1312,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1313,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1314,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1315,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1316,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1317,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1318,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1319,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1322,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1323,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1324,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1325,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1326,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1327,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1328,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1329,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1330,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1331,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1332,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge-stream\": {","isFullCredit":false},{"lineNumber":1333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1337,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1338,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-db\": {","isFullCredit":false},{"lineNumber":1339,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":1340,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",","isFullCredit":false},{"lineNumber":1341,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1342,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1343,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1344,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":1345,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1346,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1347,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-types\": {","isFullCredit":false},{"lineNumber":1348,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":1349,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",","isFullCredit":false},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1351,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1352,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1353,"author":{"gitId":"sopa301"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":1354,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1355,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1356,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":1357,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1358,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1359,"author":{"gitId":"sopa301"},"content":" \"node_modules/mimic-fn\": {","isFullCredit":false},{"lineNumber":1360,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":1361,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":1362,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1366,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1367,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1368,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":1369,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":1370,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",","isFullCredit":false},{"lineNumber":1371,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1372,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1373,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1374,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":1375,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1376,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1377,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1380,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimist\": {","isFullCredit":false},{"lineNumber":1381,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":1382,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",","isFullCredit":false},{"lineNumber":1383,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1384,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1385,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1386,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1387,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1388,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1389,"author":{"gitId":"sopa301"},"content":" \"node_modules/ms\": {","isFullCredit":false},{"lineNumber":1390,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":1391,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",","isFullCredit":false},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1394,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1395,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {","isFullCredit":false},{"lineNumber":1396,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":1397,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":1398,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1399,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1400,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1401,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1402,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1403,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1404,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1405,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1406,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1407,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {","isFullCredit":false},{"lineNumber":1408,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.3\",","isFullCredit":false},{"lineNumber":1409,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\",","isFullCredit":false},{"lineNumber":1410,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1412,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1413,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1414,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1415,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1416,"author":{"gitId":"sopa301"},"content":" \"node_modules/once\": {","isFullCredit":false},{"lineNumber":1417,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":1418,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",","isFullCredit":false},{"lineNumber":1419,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1420,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1421,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1422,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":1423,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1424,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"node_modules/onetime\": {","isFullCredit":false},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":1427,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",","isFullCredit":false},{"lineNumber":1428,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1429,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1430,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1431,"author":{"gitId":"sopa301"},"content":" \"mimic-fn\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":1432,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1433,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1434,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1435,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1436,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1437,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1438,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1439,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"node_modules/ospath\": {","isFullCredit":false},{"lineNumber":1441,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":1442,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\",","isFullCredit":false},{"lineNumber":1443,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1444,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1445,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1446,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-map\": {","isFullCredit":false},{"lineNumber":1447,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1448,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1449,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1450,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1451,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1452,"author":{"gitId":"sopa301"},"content":" \"aggregate-error\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1453,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1455,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1456,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1457,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1458,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1459,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1460,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1461,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-is-absolute\": {","isFullCredit":false},{"lineNumber":1462,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":1463,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":1464,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1465,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1466,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1467,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1468,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1470,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-key\": {","isFullCredit":false},{"lineNumber":1471,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":1472,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",","isFullCredit":false},{"lineNumber":1473,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1474,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1475,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1476,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1477,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1478,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1479,"author":{"gitId":"sopa301"},"content":" \"node_modules/pend\": {","isFullCredit":false},{"lineNumber":1480,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":1481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\",","isFullCredit":false},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1484,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1485,"author":{"gitId":"sopa301"},"content":" \"node_modules/performance-now\": {","isFullCredit":false},{"lineNumber":1486,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":1487,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":1488,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\",","isFullCredit":false},{"lineNumber":1489,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1490,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1491,"author":{"gitId":"sopa301"},"content":" \"node_modules/pify\": {","isFullCredit":false},{"lineNumber":1492,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":1493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":1494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\",","isFullCredit":false},{"lineNumber":1495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1496,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1498,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1499,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1500,"author":{"gitId":"sopa301"},"content":" \"node_modules/pretty-bytes\": {","isFullCredit":false},{"lineNumber":1501,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.6.0\",","isFullCredit":false},{"lineNumber":1502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",","isFullCredit":false},{"lineNumber":1503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1505,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1507,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1508,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1509,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1510,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1511,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1512,"author":{"gitId":"sopa301"},"content":" \"node_modules/process\": {","isFullCredit":false},{"lineNumber":1513,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.10\",","isFullCredit":false},{"lineNumber":1514,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\",","isFullCredit":false},{"lineNumber":1515,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1516,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1517,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1518,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6.0\"","isFullCredit":false},{"lineNumber":1519,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1520,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1521,"author":{"gitId":"sopa301"},"content":" \"node_modules/proxy-from-env\": {","isFullCredit":false},{"lineNumber":1522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1523,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1524,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1525,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1526,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1527,"author":{"gitId":"sopa301"},"content":" \"node_modules/psl\": {","isFullCredit":false},{"lineNumber":1528,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.9.0\",","isFullCredit":false},{"lineNumber":1529,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",","isFullCredit":false},{"lineNumber":1530,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\",","isFullCredit":false},{"lineNumber":1531,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1532,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1533,"author":{"gitId":"sopa301"},"content":" \"node_modules/pump\": {","isFullCredit":false},{"lineNumber":1534,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1535,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1536,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\",","isFullCredit":false},{"lineNumber":1537,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1538,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1539,"author":{"gitId":"sopa301"},"content":" \"end-of-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":1540,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":1541,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1542,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1543,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode\": {","isFullCredit":false},{"lineNumber":1544,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":1545,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":1546,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1547,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1548,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1549,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1550,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1551,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1552,"author":{"gitId":"sopa301"},"content":" \"node_modules/qs\": {","isFullCredit":false},{"lineNumber":1553,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.10.4\",","isFullCredit":false},{"lineNumber":1554,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\",","isFullCredit":false},{"lineNumber":1555,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1556,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1557,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1558,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":1559,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1560,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1561,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.6\"","isFullCredit":false},{"lineNumber":1562,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1563,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1564,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1565,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1566,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1567,"author":{"gitId":"sopa301"},"content":" \"node_modules/querystringify\": {","isFullCredit":false},{"lineNumber":1568,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":1569,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":1570,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1571,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1572,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1573,"author":{"gitId":"sopa301"},"content":" \"node_modules/request-progress\": {","isFullCredit":false},{"lineNumber":1574,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1575,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1576,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1577,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1578,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1579,"author":{"gitId":"sopa301"},"content":" \"throttleit\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":1580,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1581,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1582,"author":{"gitId":"sopa301"},"content":" \"node_modules/requires-port\": {","isFullCredit":false},{"lineNumber":1583,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1584,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1585,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1586,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1587,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1588,"author":{"gitId":"sopa301"},"content":" \"node_modules/restore-cursor\": {","isFullCredit":false},{"lineNumber":1589,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":1590,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":1591,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1592,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1593,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1594,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":1595,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":1596,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1597,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1598,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1599,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1600,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1601,"author":{"gitId":"sopa301"},"content":" \"node_modules/rfdc\": {","isFullCredit":false},{"lineNumber":1602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":1603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":1604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1605,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1606,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1607,"author":{"gitId":"sopa301"},"content":" \"node_modules/rimraf\": {","isFullCredit":false},{"lineNumber":1608,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":1609,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":1610,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1611,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1612,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1613,"author":{"gitId":"sopa301"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1616,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"bin.js\"","isFullCredit":false},{"lineNumber":1617,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1618,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1619,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":1620,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1621,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1622,"author":{"gitId":"sopa301"},"content":" \"node_modules/rxjs\": {","isFullCredit":false},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.8.1\",","isFullCredit":false},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\",","isFullCredit":false},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1626,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1627,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"tslib\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1631,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":1632,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":1633,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",","isFullCredit":false},{"lineNumber":1634,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1649,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1650,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1651,"author":{"gitId":"sopa301"},"content":" \"node_modules/safer-buffer\": {","isFullCredit":false},{"lineNumber":1652,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":1653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":1654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1655,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1657,"author":{"gitId":"sopa301"},"content":" \"node_modules/semver\": {","isFullCredit":false},{"lineNumber":1658,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.4\",","isFullCredit":false},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",","isFullCredit":false},{"lineNumber":1660,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1663,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1664,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1665,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1666,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1667,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1668,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1669,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1670,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1672,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":1673,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1675,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1676,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1678,"author":{"gitId":"sopa301"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1679,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":1685,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" \"node_modules/side-channel\": {","isFullCredit":false},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"node_modules/signal-exit\": {","isFullCredit":false},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.7\",","isFullCredit":false},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",","isFullCredit":false},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1717,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1725,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1726,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" \"node_modules/sshpk\": {","isFullCredit":false},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.17.0\",","isFullCredit":false},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\",","isFullCredit":false},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1733,"author":{"gitId":"sopa301"},"content":" \"asn1\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":1734,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1735,"author":{"gitId":"sopa301"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"dashdash\": \"^1.12.0\",","isFullCredit":false},{"lineNumber":1737,"author":{"gitId":"sopa301"},"content":" \"ecc-jsbn\": \"~0.1.1\",","isFullCredit":false},{"lineNumber":1738,"author":{"gitId":"sopa301"},"content":" \"getpass\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"~0.14.0\"","isFullCredit":false},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1743,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1744,"author":{"gitId":"sopa301"},"content":" \"sshpk-conv\": \"bin/sshpk-conv\",","isFullCredit":false},{"lineNumber":1745,"author":{"gitId":"sopa301"},"content":" \"sshpk-sign\": \"bin/sshpk-sign\",","isFullCredit":false},{"lineNumber":1746,"author":{"gitId":"sopa301"},"content":" \"sshpk-verify\": \"bin/sshpk-verify\"","isFullCredit":false},{"lineNumber":1747,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1748,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1749,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1750,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1752,"author":{"gitId":"sopa301"},"content":" \"node_modules/string-width\": {","isFullCredit":false},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",","isFullCredit":false},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":1759,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":1760,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1763,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1764,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":1773,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1774,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1775,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1777,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-final-newline\": {","isFullCredit":false},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1783,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1793,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1796,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1797,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1800,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1801,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1802,"author":{"gitId":"sopa301"},"content":" \"node_modules/throttleit\": {","isFullCredit":false},{"lineNumber":1803,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1804,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1806,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1807,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"node_modules/through\": {","isFullCredit":false},{"lineNumber":1809,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.8\",","isFullCredit":false},{"lineNumber":1810,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\",","isFullCredit":false},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1812,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1813,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1814,"author":{"gitId":"sopa301"},"content":" \"node_modules/tmp\": {","isFullCredit":false},{"lineNumber":1815,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":1816,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\",","isFullCredit":false},{"lineNumber":1817,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1819,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1820,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1821,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1822,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.17.0\"","isFullCredit":false},{"lineNumber":1824,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1825,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1826,"author":{"gitId":"sopa301"},"content":" \"node_modules/tough-cookie\": {","isFullCredit":false},{"lineNumber":1827,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":1828,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":1829,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"psl\": \"^1.1.33\",","isFullCredit":false},{"lineNumber":1833,"author":{"gitId":"sopa301"},"content":" \"punycode\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":1834,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"url-parse\": \"^1.5.3\"","isFullCredit":false},{"lineNumber":1836,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1837,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1838,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1839,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1840,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1841,"author":{"gitId":"sopa301"},"content":" \"node_modules/tslib\": {","isFullCredit":false},{"lineNumber":1842,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\",","isFullCredit":false},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1845,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1847,"author":{"gitId":"sopa301"},"content":" \"node_modules/tunnel-agent\": {","isFullCredit":false},{"lineNumber":1848,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":1849,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",","isFullCredit":false},{"lineNumber":1850,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1851,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1852,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":1854,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1855,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1856,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1858,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1859,"author":{"gitId":"sopa301"},"content":" \"node_modules/tweetnacl\": {","isFullCredit":false},{"lineNumber":1860,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.14.5\",","isFullCredit":false},{"lineNumber":1861,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",","isFullCredit":false},{"lineNumber":1862,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1863,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1864,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1865,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.21.3\",","isFullCredit":false},{"lineNumber":1867,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",","isFullCredit":false},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1870,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1871,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1873,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1876,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1877,"author":{"gitId":"sopa301"},"content":" \"node_modules/universalify\": {","isFullCredit":false},{"lineNumber":1878,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",","isFullCredit":false},{"lineNumber":1880,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1882,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1883,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":1884,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1885,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1886,"author":{"gitId":"sopa301"},"content":" \"node_modules/untildify\": {","isFullCredit":false},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1888,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1889,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1890,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1891,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1892,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1893,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1894,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1895,"author":{"gitId":"sopa301"},"content":" \"node_modules/url-parse\": {","isFullCredit":false},{"lineNumber":1896,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.10\",","isFullCredit":false},{"lineNumber":1897,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",","isFullCredit":false},{"lineNumber":1898,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1901,"author":{"gitId":"sopa301"},"content":" \"querystringify\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"requires-port\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":1903,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1904,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1905,"author":{"gitId":"sopa301"},"content":" \"node_modules/uuid\": {","isFullCredit":false},{"lineNumber":1906,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.3.2\",","isFullCredit":false},{"lineNumber":1907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",","isFullCredit":false},{"lineNumber":1908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1910,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"dist/bin/uuid\"","isFullCredit":false},{"lineNumber":1912,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1913,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1914,"author":{"gitId":"sopa301"},"content":" \"node_modules/verror\": {","isFullCredit":false},{"lineNumber":1915,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.10.0\",","isFullCredit":false},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",","isFullCredit":false},{"lineNumber":1917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1918,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1919,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1922,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1923,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1924,"author":{"gitId":"sopa301"},"content":" \"core-util-is\": \"1.0.2\",","isFullCredit":false},{"lineNumber":1925,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":1926,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1928,"author":{"gitId":"sopa301"},"content":" \"node_modules/which\": {","isFullCredit":false},{"lineNumber":1929,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":1931,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1932,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1933,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":1935,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1936,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1937,"author":{"gitId":"sopa301"},"content":" \"node-which\": \"bin/node-which\"","isFullCredit":false},{"lineNumber":1938,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1939,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1940,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1942,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":1944,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":1945,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1947,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1948,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1950,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1951,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1952,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1953,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1955,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1957,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1958,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1959,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1960,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrappy\": {","isFullCredit":false},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":1962,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":1963,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1964,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1966,"author":{"gitId":"sopa301"},"content":" \"node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1967,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1968,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1969,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1970,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1971,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1972,"author":{"gitId":"sopa301"},"content":" \"node_modules/yauzl\": {","isFullCredit":false},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.0\",","isFullCredit":false},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\",","isFullCredit":false},{"lineNumber":1975,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1976,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1977,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1978,"author":{"gitId":"sopa301"},"content":" \"buffer-crc32\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"fd-slicer\": \"~1.1.0\"","isFullCredit":false},{"lineNumber":1980,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1981,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1982,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1983,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"@colors/colors\": {","isFullCredit":false},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":1986,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\",","isFullCredit":false},{"lineNumber":1987,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1989,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"@cypress/request\": {","isFullCredit":false},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":1993,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":1994,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"aws-sign2\": \"~0.7.0\",","isFullCredit":false},{"lineNumber":1998,"author":{"gitId":"-"},"content":" \"aws4\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"caseless\": \"~0.12.0\",","isFullCredit":false},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"combined-stream\": \"~1.0.6\",","isFullCredit":false},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"extend\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":2002,"author":{"gitId":"-"},"content":" \"forever-agent\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"form-data\": \"~2.3.2\",","isFullCredit":false},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"http-signature\": \"~1.3.6\",","isFullCredit":false},{"lineNumber":2005,"author":{"gitId":"-"},"content":" \"is-typedarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":2006,"author":{"gitId":"-"},"content":" \"isstream\": \"~0.1.2\",","isFullCredit":false},{"lineNumber":2007,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": \"~5.0.1\",","isFullCredit":false},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.19\",","isFullCredit":false},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"performance-now\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":2010,"author":{"gitId":"-"},"content":" \"qs\": \"6.10.4\",","isFullCredit":false},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"tough-cookie\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":2013,"author":{"gitId":"-"},"content":" \"tunnel-agent\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":2014,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\"","isFullCredit":false},{"lineNumber":2015,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2016,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": {","isFullCredit":false},{"lineNumber":2018,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\",","isFullCredit":false},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2021,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2022,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"debug\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"lodash.once\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":2025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2026,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"debug\": {","isFullCredit":false},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":2029,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",","isFullCredit":false},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2031,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":2034,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2035,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2036,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2038,"author":{"gitId":"-"},"content":" \"@types/node\": {","isFullCredit":false},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"version\": \"18.18.3\",","isFullCredit":false},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\",","isFullCredit":false},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": {","isFullCredit":false},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":2047,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":2048,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2049,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"@types/sizzle\": {","isFullCredit":false},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\",","isFullCredit":false},{"lineNumber":2053,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\",","isFullCredit":false},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\",","isFullCredit":false},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2056,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"@types/yauzl\": {","isFullCredit":false},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"version\": \"2.10.1\",","isFullCredit":false},{"lineNumber":2059,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\",","isFullCredit":false},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2062,"author":{"gitId":"-"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2064,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"aggregate-error\": {","isFullCredit":false},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":2070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2073,"author":{"gitId":"-"},"content":" \"clean-stack\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"indent-string\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2075,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2076,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"ansi-colors\": {","isFullCredit":false},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":2079,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2082,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"ansi-escapes\": {","isFullCredit":false},{"lineNumber":2084,"author":{"gitId":"-"},"content":" \"version\": \"4.3.2\",","isFullCredit":false},{"lineNumber":2085,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",","isFullCredit":false},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2088,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.21.3\"","isFullCredit":false},{"lineNumber":2090,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2091,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2092,"author":{"gitId":"-"},"content":" \"ansi-regex\": {","isFullCredit":false},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2096,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2097,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"ansi-styles\": {","isFullCredit":false},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2102,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2103,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2105,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2106,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2107,"author":{"gitId":"-"},"content":" \"arch\": {","isFullCredit":false},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":2110,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"asn1\": {","isFullCredit":false},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"version\": \"0.2.6\",","isFullCredit":false},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\",","isFullCredit":false},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"~2.1.0\"","isFullCredit":false},{"lineNumber":2120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2121,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"assert-plus\": {","isFullCredit":false},{"lineNumber":2123,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"astral-regex\": {","isFullCredit":false},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2133,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"async\": {","isFullCredit":false},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"version\": \"3.2.4\",","isFullCredit":false},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\",","isFullCredit":false},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2140,"author":{"gitId":"-"},"content":" \"asynckit\": {","isFullCredit":false},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"at-least-node\": {","isFullCredit":false},{"lineNumber":2147,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2150,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"aws-sign2\": {","isFullCredit":false},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"0.7.0\",","isFullCredit":false},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",","isFullCredit":false},{"lineNumber":2155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2157,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"aws4\": {","isFullCredit":false},{"lineNumber":2159,"author":{"gitId":"-"},"content":" \"version\": \"1.12.0\",","isFullCredit":false},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\",","isFullCredit":false},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"balanced-match\": {","isFullCredit":false},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2167,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2169,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2170,"author":{"gitId":"-"},"content":" \"base64-js\": {","isFullCredit":false},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\",","isFullCredit":false},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\",","isFullCredit":false},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": {","isFullCredit":false},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2178,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"^0.14.3\"","isFullCredit":false},{"lineNumber":2183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"blob-util\": {","isFullCredit":false},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2190,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"bluebird\": {","isFullCredit":false},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\",","isFullCredit":false},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",","isFullCredit":false},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"brace-expansion\": {","isFullCredit":false},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",","isFullCredit":false},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2201,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2204,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":2205,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"buffer\": {","isFullCredit":false},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\",","isFullCredit":false},{"lineNumber":2209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\",","isFullCredit":false},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":2214,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":2215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"buffer-crc32\": {","isFullCredit":false},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"version\": \"0.2.13\",","isFullCredit":false},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\",","isFullCredit":false},{"lineNumber":2220,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"cachedir\": {","isFullCredit":false},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":2225,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\",","isFullCredit":false},{"lineNumber":2226,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2228,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"call-bind\": {","isFullCredit":false},{"lineNumber":2230,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2231,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2235,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":2237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2238,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"caseless\": {","isFullCredit":false},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\",","isFullCredit":false},{"lineNumber":2241,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",","isFullCredit":false},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"chalk\": {","isFullCredit":false},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":2247,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":2248,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2250,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2251,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2252,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":2253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":2258,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2259,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2261,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"check-more-types\": {","isFullCredit":false},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"version\": \"2.24.0\",","isFullCredit":false},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\",","isFullCredit":false},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2270,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2271,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"ci-info\": {","isFullCredit":false},{"lineNumber":2273,"author":{"gitId":"-"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":2274,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"clean-stack\": {","isFullCredit":false},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":2281,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"cli-cursor\": {","isFullCredit":false},{"lineNumber":2285,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2286,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":2287,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2290,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\"","isFullCredit":false},{"lineNumber":2291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"cli-table3\": {","isFullCredit":false},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\",","isFullCredit":false},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2298,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"@colors/colors\": \"1.5.0\",","isFullCredit":false},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":2301,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2302,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"cli-truncate\": {","isFullCredit":false},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2305,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":2311,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2312,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"color-convert\": {","isFullCredit":false},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2315,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2316,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2317,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2318,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":2320,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2322,"author":{"gitId":"-"},"content":" \"color-name\": {","isFullCredit":false},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":2324,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2327,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"colorette\": {","isFullCredit":false},{"lineNumber":2329,"author":{"gitId":"-"},"content":" \"version\": \"2.0.20\",","isFullCredit":false},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",","isFullCredit":false},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2333,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2334,"author":{"gitId":"-"},"content":" \"combined-stream\": {","isFullCredit":false},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"version\": \"1.0.8\",","isFullCredit":false},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",","isFullCredit":false},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2340,"author":{"gitId":"-"},"content":" \"delayed-stream\": \"~1.0.0\"","isFullCredit":false},{"lineNumber":2341,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"commander\": {","isFullCredit":false},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2347,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2348,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"common-tags\": {","isFullCredit":false},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"version\": \"1.8.2\",","isFullCredit":false},{"lineNumber":2351,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",","isFullCredit":false},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2354,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2355,"author":{"gitId":"-"},"content":" \"concat-map\": {","isFullCredit":false},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",","isFullCredit":false},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2359,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2361,"author":{"gitId":"-"},"content":" \"core-util-is\": {","isFullCredit":false},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2363,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2364,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2365,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2366,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"cross-spawn\": {","isFullCredit":false},{"lineNumber":2368,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",","isFullCredit":false},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2371,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2372,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2376,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"cypress\": {","isFullCredit":false},{"lineNumber":2379,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\",","isFullCredit":false},{"lineNumber":2380,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\",","isFullCredit":false},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"@cypress/request\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\",","isFullCredit":false},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"@types/sizzle\": \"^2.3.2\",","isFullCredit":false},{"lineNumber":2388,"author":{"gitId":"-"},"content":" \"arch\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":2389,"author":{"gitId":"-"},"content":" \"blob-util\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\",","isFullCredit":false},{"lineNumber":2391,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\",","isFullCredit":false},{"lineNumber":2392,"author":{"gitId":"-"},"content":" \"cachedir\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"check-more-types\": \"^2.24.0\",","isFullCredit":false},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2396,"author":{"gitId":"-"},"content":" \"cli-table3\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"commander\": \"^6.2.1\",","isFullCredit":false},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"common-tags\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"dayjs\": \"^1.10.4\",","isFullCredit":false},{"lineNumber":2400,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"enquirer\": \"^2.3.6\",","isFullCredit":false},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"eventemitter2\": \"6.4.7\",","isFullCredit":false},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"execa\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2404,"author":{"gitId":"-"},"content":" \"executable\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"extract-zip\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"figures\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\",","isFullCredit":false},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"getos\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":2409,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"is-installed-globally\": \"~0.4.0\",","isFullCredit":false},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"lazy-ass\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"listr2\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":2413,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"ospath\": \"^1.2.2\",","isFullCredit":false},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"pretty-bytes\": \"^5.6.0\",","isFullCredit":false},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"process\": \"^0.11.10\",","isFullCredit":false},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"proxy-from-env\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"request-progress\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.3\",","isFullCredit":false},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.1.1\",","isFullCredit":false},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"tmp\": \"~0.2.1\",","isFullCredit":false},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"untildify\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":2426,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2427,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"dashdash\": {","isFullCredit":false},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\",","isFullCredit":false},{"lineNumber":2430,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",","isFullCredit":false},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2433,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2434,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2435,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2436,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"dayjs\": {","isFullCredit":false},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"version\": \"1.11.10\",","isFullCredit":false},{"lineNumber":2439,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\",","isFullCredit":false},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2442,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"debug\": {","isFullCredit":false},{"lineNumber":2444,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":2445,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",","isFullCredit":false},{"lineNumber":2446,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2449,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":2450,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2452,"author":{"gitId":"-"},"content":" \"ms\": {","isFullCredit":false},{"lineNumber":2453,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2456,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"delayed-stream\": {","isFullCredit":false},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2462,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2464,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2465,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2466,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": {","isFullCredit":false},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":2468,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":2474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"emoji-regex\": {","isFullCredit":false},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":2479,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2481,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2482,"author":{"gitId":"-"},"content":" \"end-of-stream\": {","isFullCredit":false},{"lineNumber":2483,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\",","isFullCredit":false},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\",","isFullCredit":false},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2486,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2487,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2488,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":2489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2490,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2491,"author":{"gitId":"-"},"content":" \"enquirer\": {","isFullCredit":false},{"lineNumber":2492,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\",","isFullCredit":false},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"ansi-colors\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": {","isFullCredit":false},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",","isFullCredit":false},{"lineNumber":2504,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"eventemitter2\": {","isFullCredit":false},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"version\": \"6.4.7\",","isFullCredit":false},{"lineNumber":2509,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\",","isFullCredit":false},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2512,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"execa\": {","isFullCredit":false},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2518,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"human-signals\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2525,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":2526,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2528,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2529,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2530,"author":{"gitId":"-"},"content":" \"executable\": {","isFullCredit":false},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2534,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"pify\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":2537,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2539,"author":{"gitId":"-"},"content":" \"extend\": {","isFullCredit":false},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":2541,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":2542,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2543,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2545,"author":{"gitId":"-"},"content":" \"extract-zip\": {","isFullCredit":false},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2549,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2551,"author":{"gitId":"-"},"content":" \"@types/yauzl\": \"^2.9.1\",","isFullCredit":false},{"lineNumber":2552,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":2555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2556,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"extsprintf\": {","isFullCredit":false},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"fd-slicer\": {","isFullCredit":false},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\",","isFullCredit":false},{"lineNumber":2566,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2569,"author":{"gitId":"-"},"content":" \"pend\": \"~1.2.0\"","isFullCredit":false},{"lineNumber":2570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2571,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"figures\": {","isFullCredit":false},{"lineNumber":2573,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\",","isFullCredit":false},{"lineNumber":2575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2578,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":2579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2580,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"forever-agent\": {","isFullCredit":false},{"lineNumber":2582,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":2583,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",","isFullCredit":false},{"lineNumber":2584,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2586,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2587,"author":{"gitId":"-"},"content":" \"form-data\": {","isFullCredit":false},{"lineNumber":2588,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",","isFullCredit":false},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2592,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2593,"author":{"gitId":"-"},"content":" \"asynckit\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":2594,"author":{"gitId":"-"},"content":" \"combined-stream\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":2595,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.12\"","isFullCredit":false},{"lineNumber":2596,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2597,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"fs-extra\": {","isFullCredit":false},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",","isFullCredit":false},{"lineNumber":2601,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2605,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":2606,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2610,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2613,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2615,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2616,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2617,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2618,"author":{"gitId":"-"},"content":" \"fs.realpath\": {","isFullCredit":false},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2622,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"function-bind\": {","isFullCredit":false},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":2627,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"get-intrinsic\": {","isFullCredit":false},{"lineNumber":2631,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2632,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2636,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"has\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":2640,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"get-stream\": {","isFullCredit":false},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\",","isFullCredit":false},{"lineNumber":2645,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":2649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2651,"author":{"gitId":"-"},"content":" \"getos\": {","isFullCredit":false},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2656,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2657,"author":{"gitId":"-"},"content":" \"async\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":2658,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2659,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2660,"author":{"gitId":"-"},"content":" \"getpass\": {","isFullCredit":false},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\",","isFullCredit":false},{"lineNumber":2662,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",","isFullCredit":false},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\",","isFullCredit":false},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2665,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2666,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"glob\": {","isFullCredit":false},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":2671,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",","isFullCredit":false},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2673,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2681,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2682,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2683,"author":{"gitId":"-"},"content":" \"global-dirs\": {","isFullCredit":false},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2687,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"ini\": \"2.0.0\"","isFullCredit":false},{"lineNumber":2690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"graceful-fs\": {","isFullCredit":false},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"version\": \"4.2.11\",","isFullCredit":false},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",","isFullCredit":false},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2696,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2697,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2698,"author":{"gitId":"-"},"content":" \"has\": {","isFullCredit":false},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2703,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"has-flag\": {","isFullCredit":false},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2706,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"has-proto\": {","isFullCredit":false},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2715,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"has-symbols\": {","isFullCredit":false},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",","isFullCredit":false},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2721,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"http-signature\": {","isFullCredit":false},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"version\": \"1.3.6\",","isFullCredit":false},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\",","isFullCredit":false},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"jsprim\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"sshpk\": \"^1.14.1\"","isFullCredit":false},{"lineNumber":2731,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"human-signals\": {","isFullCredit":false},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2737,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2738,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"ieee754\": {","isFullCredit":false},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2741,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"indent-string\": {","isFullCredit":false},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2748,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"inflight\": {","isFullCredit":false},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":2753,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",","isFullCredit":false},{"lineNumber":2754,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":2759,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2760,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"inherits\": {","isFullCredit":false},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",","isFullCredit":false},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2767,"author":{"gitId":"-"},"content":" \"ini\": {","isFullCredit":false},{"lineNumber":2768,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2771,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"is-ci\": {","isFullCredit":false},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"ci-info\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":2780,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2781,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"is-installed-globally\": {","isFullCredit":false},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2791,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"global-dirs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":2796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"is-path-inside\": {","isFullCredit":false},{"lineNumber":2799,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2803,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"is-stream\": {","isFullCredit":false},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2806,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2808,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2809,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"is-typedarray\": {","isFullCredit":false},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2812,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2815,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": {","isFullCredit":false},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":2818,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\",","isFullCredit":false},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"isexe\": {","isFullCredit":false},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"isstream\": {","isFullCredit":false},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2833,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2834,"author":{"gitId":"-"},"content":" \"jsbn\": {","isFullCredit":false},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",","isFullCredit":false},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2839,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2840,"author":{"gitId":"-"},"content":" \"json-schema\": {","isFullCredit":false},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": {","isFullCredit":false},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2851,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2852,"author":{"gitId":"-"},"content":" \"jsonfile\": {","isFullCredit":false},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",","isFullCredit":false},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2856,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\",","isFullCredit":false},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2867,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2868,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2869,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"jsprim\": {","isFullCredit":false},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":2872,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"assert-plus\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2877,"author":{"gitId":"-"},"content":" \"extsprintf\": \"1.3.0\",","isFullCredit":false},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"json-schema\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"verror\": \"1.10.0\"","isFullCredit":false},{"lineNumber":2880,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2882,"author":{"gitId":"-"},"content":" \"lazy-ass\": {","isFullCredit":false},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":2884,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\",","isFullCredit":false},{"lineNumber":2885,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2886,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2887,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"listr2\": {","isFullCredit":false},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"version\": \"3.14.0\",","isFullCredit":false},{"lineNumber":2890,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\",","isFullCredit":false},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2893,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"cli-truncate\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.16\",","isFullCredit":false},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"log-update\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"p-map\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2898,"author":{"gitId":"-"},"content":" \"rfdc\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2899,"author":{"gitId":"-"},"content":" \"rxjs\": \"^7.5.1\",","isFullCredit":false},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"through\": \"^2.3.8\",","isFullCredit":false},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":2902,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"lodash\": {","isFullCredit":false},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",","isFullCredit":false},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2908,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"lodash.once\": {","isFullCredit":false},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2915,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"log-symbols\": {","isFullCredit":false},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":2924,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2925,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"log-update\": {","isFullCredit":false},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2935,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^6.2.0\"","isFullCredit":false},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"slice-ansi\": {","isFullCredit":false},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2941,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2942,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":2947,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2948,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {","isFullCredit":false},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"version\": \"6.2.0\",","isFullCredit":false},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\",","isFullCredit":false},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":2958,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2959,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2960,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2961,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"lru-cache\": {","isFullCredit":false},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2969,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2971,"author":{"gitId":"-"},"content":" \"merge-stream\": {","isFullCredit":false},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2973,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2976,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2977,"author":{"gitId":"-"},"content":" \"mime-db\": {","isFullCredit":false},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",","isFullCredit":false},{"lineNumber":2980,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2982,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2983,"author":{"gitId":"-"},"content":" \"mime-types\": {","isFullCredit":false},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":2985,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",","isFullCredit":false},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":2990,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"mimic-fn\": {","isFullCredit":false},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":2995,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2997,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"minimatch\": {","isFullCredit":false},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",","isFullCredit":false},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3003,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":3005,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"minimist\": {","isFullCredit":false},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",","isFullCredit":false},{"lineNumber":3010,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3012,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"ms\": {","isFullCredit":false},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",","isFullCredit":false},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"npm-run-path\": {","isFullCredit":false},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3026,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3027,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"object-inspect\": {","isFullCredit":false},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"version\": \"1.12.3\",","isFullCredit":false},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\",","isFullCredit":false},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"once\": {","isFullCredit":false},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",","isFullCredit":false},{"lineNumber":3037,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":3041,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3042,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"onetime\": {","isFullCredit":false},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",","isFullCredit":false},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":3050,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3051,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"ospath\": {","isFullCredit":false},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\",","isFullCredit":false},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3057,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"p-map\": {","isFullCredit":false},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"aggregate-error\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"path-is-absolute\": {","isFullCredit":false},{"lineNumber":3068,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3071,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3072,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"path-key\": {","isFullCredit":false},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",","isFullCredit":false},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3078,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"pend\": {","isFullCredit":false},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\",","isFullCredit":false},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3083,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3084,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"performance-now\": {","isFullCredit":false},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\",","isFullCredit":false},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"pify\": {","isFullCredit":false},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\",","isFullCredit":false},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3097,"author":{"gitId":"-"},"content":" \"pretty-bytes\": {","isFullCredit":false},{"lineNumber":3098,"author":{"gitId":"-"},"content":" \"version\": \"5.6.0\",","isFullCredit":false},{"lineNumber":3099,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",","isFullCredit":false},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"process\": {","isFullCredit":false},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"version\": \"0.11.10\",","isFullCredit":false},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\",","isFullCredit":false},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"proxy-from-env\": {","isFullCredit":false},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3111,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3115,"author":{"gitId":"-"},"content":" \"psl\": {","isFullCredit":false},{"lineNumber":3116,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\",","isFullCredit":false},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",","isFullCredit":false},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\",","isFullCredit":false},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3120,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"pump\": {","isFullCredit":false},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3124,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\",","isFullCredit":false},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3127,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":3128,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":3129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3130,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"punycode\": {","isFullCredit":false},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"qs\": {","isFullCredit":false},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"version\": \"6.10.4\",","isFullCredit":false},{"lineNumber":3139,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\",","isFullCredit":false},{"lineNumber":3140,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":3144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"querystringify\": {","isFullCredit":false},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"request-progress\": {","isFullCredit":false},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"throttleit\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3160,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3161,"author":{"gitId":"-"},"content":" \"requires-port\": {","isFullCredit":false},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"restore-cursor\": {","isFullCredit":false},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3172,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":3175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"rfdc\": {","isFullCredit":false},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":3180,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3182,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3183,"author":{"gitId":"-"},"content":" \"rimraf\": {","isFullCredit":false},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":3190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3191,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3192,"author":{"gitId":"-"},"content":" \"rxjs\": {","isFullCredit":false},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"version\": \"7.8.1\",","isFullCredit":false},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\",","isFullCredit":false},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":3199,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3200,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"safe-buffer\": {","isFullCredit":false},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",","isFullCredit":false},{"lineNumber":3204,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"safer-buffer\": {","isFullCredit":false},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":3210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3212,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3213,"author":{"gitId":"-"},"content":" \"semver\": {","isFullCredit":false},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"version\": \"7.5.4\",","isFullCredit":false},{"lineNumber":3215,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",","isFullCredit":false},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3219,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3220,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3221,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3222,"author":{"gitId":"-"},"content":" \"shebang-command\": {","isFullCredit":false},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3227,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3229,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"shebang-regex\": {","isFullCredit":false},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3235,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"side-channel\": {","isFullCredit":false},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":3246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"signal-exit\": {","isFullCredit":false},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\",","isFullCredit":false},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",","isFullCredit":false},{"lineNumber":3251,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"slice-ansi\": {","isFullCredit":false},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3259,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3264,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"sshpk\": {","isFullCredit":false},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"version\": \"1.17.0\",","isFullCredit":false},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\",","isFullCredit":false},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"asn1\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"dashdash\": \"^1.12.0\",","isFullCredit":false},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": \"~0.1.1\",","isFullCredit":false},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"getpass\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"~0.14.0\"","isFullCredit":false},{"lineNumber":3280,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3282,"author":{"gitId":"-"},"content":" \"string-width\": {","isFullCredit":false},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",","isFullCredit":false},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3287,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3290,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":3291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"strip-ansi\": {","isFullCredit":false},{"lineNumber":3294,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":3295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3298,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3300,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3301,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"strip-final-newline\": {","isFullCredit":false},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3304,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3315,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3316,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3317,"author":{"gitId":"-"},"content":" \"throttleit\": {","isFullCredit":false},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3319,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3320,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3321,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3322,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"through\": {","isFullCredit":false},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"version\": \"2.3.8\",","isFullCredit":false},{"lineNumber":3325,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\",","isFullCredit":false},{"lineNumber":3326,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"tmp\": {","isFullCredit":false},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\",","isFullCredit":false},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3336,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"tough-cookie\": {","isFullCredit":false},{"lineNumber":3339,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":3340,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3344,"author":{"gitId":"-"},"content":" \"psl\": \"^1.1.33\",","isFullCredit":false},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"universalify\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":3347,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.3\"","isFullCredit":false},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3350,"author":{"gitId":"-"},"content":" \"tslib\": {","isFullCredit":false},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\",","isFullCredit":false},{"lineNumber":3353,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3355,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"tunnel-agent\": {","isFullCredit":false},{"lineNumber":3357,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":3358,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",","isFullCredit":false},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3360,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3361,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3362,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3363,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3364,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3365,"author":{"gitId":"-"},"content":" \"tweetnacl\": {","isFullCredit":false},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"version\": \"0.14.5\",","isFullCredit":false},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",","isFullCredit":false},{"lineNumber":3368,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3369,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3370,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3371,"author":{"gitId":"-"},"content":" \"type-fest\": {","isFullCredit":false},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"version\": \"0.21.3\",","isFullCredit":false},{"lineNumber":3373,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",","isFullCredit":false},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":3379,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",","isFullCredit":false},{"lineNumber":3380,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3383,"author":{"gitId":"-"},"content":" \"untildify\": {","isFullCredit":false},{"lineNumber":3384,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3385,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3388,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3389,"author":{"gitId":"-"},"content":" \"url-parse\": {","isFullCredit":false},{"lineNumber":3390,"author":{"gitId":"-"},"content":" \"version\": \"1.5.10\",","isFullCredit":false},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",","isFullCredit":false},{"lineNumber":3392,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3393,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"querystringify\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3397,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"uuid\": {","isFullCredit":false},{"lineNumber":3400,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\",","isFullCredit":false},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",","isFullCredit":false},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3403,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"verror\": {","isFullCredit":false},{"lineNumber":3406,"author":{"gitId":"-"},"content":" \"version\": \"1.10.0\",","isFullCredit":false},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",","isFullCredit":false},{"lineNumber":3408,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3409,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3410,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3411,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"core-util-is\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"extsprintf\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":3414,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3415,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"which\": {","isFullCredit":false},{"lineNumber":3417,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":3418,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3422,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3423,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3424,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3425,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {","isFullCredit":false},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":3428,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3429,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3432,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3434,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3435,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3436,"author":{"gitId":"-"},"content":" \"wrappy\": {","isFullCredit":false},{"lineNumber":3437,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3438,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":3439,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3440,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"yallist\": {","isFullCredit":false},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3444,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3445,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3446,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3448,"author":{"gitId":"-"},"content":" \"yauzl\": {","isFullCredit":false},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"version\": \"2.10.0\",","isFullCredit":false},{"lineNumber":3450,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\",","isFullCredit":false},{"lineNumber":3451,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3453,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"buffer-crc32\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":3455,"author":{"gitId":"-"},"content":" \"fd-slicer\": \"~1.1.0\"","isFullCredit":false},{"lineNumber":3456,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3459,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1987,"-":1472}},{"path":"frontend/cypress/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"scripts\": {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"tests\": \"cypress run --browser chrome\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"ci\": \"cypress run --env ci\u003dtrue --browser chrome\",","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"debug\": \"cypress open\"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":9}},{"path":"frontend/cypress/support.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// Disable screenshots","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"// https://docs.cypress.io/api/cypress-api/screenshot-api.html#Disable-screenshots-on-run-failures","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"Cypress.Screenshot.defaults({","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" screenshotOnRunFailure: false,","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"beforeEach(() \u003d\u003e {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.visit(\u0027/\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" cy.intercept({","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" method: \u0027GET\u0027,","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" url: \u0027/title.md\u0027,","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" }, \u0027# RepoSense Intro\u0027).as(\u0027getTitleMd\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":4,"-":10}},{"path":"frontend/cypress/tests/chartView/chartView_blurbs.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"describe(\u0027blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027shows blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" .first()","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027first blurb\u0027);","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027second blurb\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027third blurb\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027has the correct number of valid blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027have.length\u0027, 3);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027processes markdown in blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" .find(\u0027h1\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" .contains(\u0027second blurb in h1 tag\u0027);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027processes html in blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" .find(\u0027h2\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" .contains(\u0027third blurb in h2 markdown tag\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"});","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":34}},{"path":"frontend/cypress/tests/chartView/chartView_errorSummary_messageBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027error summary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027shows list of issues encountered while analyzing repos\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__message\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027The following issues occurred when analyzing the following repositories:\u0027;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--name\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--reason\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" it(\u0027can be expanded and collapsed if count \u003e 4\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 5);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":30,"jonasongg":20}},{"path":"frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by repos\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, only four merged repo groups will show","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 9 summary charts will show","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 9);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, 8 merged author groups will show","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 8);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 9 summary charts will show","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 9);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" it(\u0027merge group option should be disabled when group by none\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027be.disabled\u0027);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" it(\u0027should have the correct number of merge group contribution bars and correct length\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" // get the chart bars and assert they have the correct initial widths","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" const expectedWidths \u003d [100, 100, 20, 100, 100, 3, 20, 5];","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, expectedWidths.length)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .then(($bars) \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" // calculate the percentage of the width relative to the parent container","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" const parentWidth \u003d $bars.eq(0).parent().width();","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" expectedWidths.forEach((expectedWidth, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" const width \u003d (parseFloat(window.getComputedStyle($bars[index]).width) / parentWidth) * 100;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":" expect(width).to.be.closeTo(expectedWidth, 2);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027merge group contribution bars should have correct width after reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" const initialWidths \u003d [];","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // Store the initial widths of the contribution bars","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .each(($bar) \u003d\u003e {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" initialWidths.push(width);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" // Reload the page and wait for the loading div to disappear","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.overlay-loader\u0027).should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" // Get the contribution bars again and compare their widths with the initial widths","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, initialWidths.length)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .each(($bar, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" expect(width).to.equal(initialWidths[index]);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":91,"jonasongg":15}},{"path":"frontend/cypress/tests/chartView/chartView_optimiseTimeline.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027optimise timeline\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" it(\u0027ramp padding should only exist when optimise timeline is checked\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.not.checked\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.css\u0027, \u0027left\u0027, \u00270px\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.not.css\u0027, \u0027left\u0027, \u00270px\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":" it(\u0027should retain the same number of ramp slices\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding a\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":" const rampSlices \u003d $el.length;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding a\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, rampSlices);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" it(\u0027start and end date indicators should exist\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators span\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.text\u0027, \u00272018-05-03\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators span\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" // 3/3 on GitHub CI, 3/4 on local","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.text\u0027, \u00272023-03-03\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" it(\u0027no commits in range should not have date indicators\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" // change since date","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"since\"]\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u00272018-12-31\u0027);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" // change until date","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":" .type(\u00272019-01-01\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" it(\u0027zoom panel range should work correctly when timeline is optimised\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" // verifies the ramp chart is not optimised and has empty space on the right","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp a\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027css\u0027, \u0027right\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" .then((val) \u003d\u003e parseFloat(val))","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .should(\u0027gt\u0027, 0);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" // verifies the date range is correctly optimised","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .period\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u00272018-05-03 to 2023-03-03\u0027);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":" // verifies the ramp chart is optimised and has no empty space on the right","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp a\u0027)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027css\u0027, \u0027right\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .then((val) \u003d\u003e parseFloat(val))","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .should(\u0027lt\u0027, 1);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" it(\u0027subzoom panel range should work correctly when timeline is optimised\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" .click(110, 20)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .click(120, 20);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .then((title) \u003d\u003e {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"jonasongg"},"content":" cy.wrap(title).should(\u0027eq\u0027, \u0027[2019-08-18] AboutUs: update team members (#867): +94 -12 lines \u0027);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":151}},{"path":"frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027scroll to active repo\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" // need to set scrollBehavior to false because the default behavior is to scroll the element into view","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a visible repo should not scroll\u0027, { scrollBehavior: false }, () \u003d\u003e {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" // close the error message box","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .first();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" let scrollTopOriginal \u003d 0;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" scrollTopOriginal \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.equal(scrollTopOriginal);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a non-visible repo should scroll\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.not.equal(0);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabAuthor\u003dyong24s\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabRepo\u003dreposense%2Fpublish-RepoSense%5Bmaster%5D\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":62}},{"path":"frontend/cypress/tests/chartView/chartView_showTags.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" it(\u0027unchecked should not display any tags for a group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":" it(\u0027checked should display all tags for a group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" it(\u0027clicked should redirect to the correct tag page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027removeAttr\u0027, \u0027target\u0027) // to open in the same window","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" cy.origin(\u0027https://github.com\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" .should(\u0027equal\u0027, \u0027https://github.com/reposense/RepoSense/releases/tag/v1.0\u0027);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\u0027group by authors works with show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":" .select(\u0027title dsc\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .find(\u0027a\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 0);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" .find(\u0027a\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length.gt\u0027, 0);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" it(\u0027group by none works with show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":154}},{"path":"frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027search bar\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027non-existent author shows no result\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .type(\u0027abcdef\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .submit();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" const content \u003d $ele.html();","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" expect(content).to.be.empty;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027unique author shows one result\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .type(\u0027Metta\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .submit();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" const children \u003d $ele.children().length;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(children).to.equal(1);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching by non-existent tag shows no results\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: asdfghjkl\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in one author\u0027s commits shows one result\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.8\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.8\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in two authors\u0027 commits shows two results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.10\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .each(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.wrap($ele).click();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t start with \u0027tag:\u0027 prefix but still contains it shows no results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10 tag: v1.10\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t contain \u0027tag:\u0027 at all shows no results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching for multiple tags shows results containing all the tags searched\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: bb v1.10\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027bb\u0027);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":31,"jonasongg":116}},{"path":"frontend/cypress/tests/chartView/chartView_zoomFeature.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const extractDate \u003d (str) \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" const regex \u003d /\\[(.*?)\\]/g;","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" const matches \u003d str.match(regex);","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" return new Date(matches[0].slice(1, -1));","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"};","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"describe(\u0027zoom features in code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" it(\u0027click on view commits button\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp when merge group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"// Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"describe(\u0027date changes in chart view should reflect in zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date range changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .type(\u00272018-06-11\u0027);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-06-11\u0027));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027yong24s\u0027 is the first result.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .type(\u0027yong24s\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .type(\u00272018-05-20\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-05-20\u0027));","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .type(\u00272019-08-19\u0027);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-19\u0027));","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027ongspxm\u0027 is the first result.","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" .type(\u0027ongspxm\u0027);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" .type(\u00272018-07-20\u0027);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272018-07-20\u0027));","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(\u00272018-08-27\u0027);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .type(\u00272019-03-09\u0027);","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-03-09\u0027));","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-08-27\u0027));","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .type(\u00272019-07-22\u0027);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .type(\u00272019-08-01\u0027);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-01\u0027));","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272019-07-22\u0027));","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"describe(\u0027range changes in chartview should reflect in zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"jonasongg"},"content":" const zoomKeyOption \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? { metaKey: true } : { ctrlKey: true };","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" it(\u0027selecting the initial righthand and lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"jonasongg"},"content":" .click(120, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"jonasongg"},"content":" .click(250, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"jonasongg"},"content":" .click(120, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-05-23] [#1241] Restore checked file types (#1256): +14 -1 lines \u0027);","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" it(\u0027changing the lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"jonasongg"},"content":" .click(250, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand and lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"jonasongg"},"content":" .click(225, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" .should(","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0027eq\u0027,","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027,","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" );","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":335,"jonasongg":31}},{"path":"frontend/cypress/tests/codeView/codeView.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027at first start shows tutorial message\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-empty \u003e .title\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027Welcome to this RepoSense report!\u0027","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" + \u0027The charts on the left show the contribution activities, grouped by repository and author.\u0027","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" + \"To view the code attributed to a specific author, click the    icon next to that author\u0027s name.\"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" + \"To view the breakdown of commits made by a specific author, click the    icon next to that author\u0027s name.\"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" + \u0027To hide the code view and show only the activity charts, click the    icon on the centre divider.\u0027","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" + \u0027See the  User Guide  to get a better understanding of how to interpret the report.\u0027;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" it(\u0027merge group and view code for entire repository\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .check({ force: true })","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":43,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_checkFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all files types are visible by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" it(\u0027uncheck all files types should show no files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option and not show legend\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027java\u0027);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":54,"jonasongg":3}},{"path":"frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"// Assumes: RepoSense repo from 03/05/2018 to current date","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"describe(\u0027code highlighting works properly\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" it(\u0027line numbers should all have the same colour\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-number\u0027) // this is just a wrapper","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" .children()","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" // The actual line number element. We can\u0027t name the class","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" // because it\u0027s generated by the code highlighter.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" .then((firstColor) \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-number\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" .each((el) \u003d\u003e cy.wrap(el)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" .children()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, firstColor));","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when there is a single author\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* Represents a Git Author.\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(191, 246, 207)\u0027); // #BFF6CF","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when multiple authors are merged in a repo group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" .check()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* MUI Colors module\u0027) // eugenepeh","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(30, 144, 255, 0.314)\u0027) // #1e90ff, transparencyValue 50","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" .then((firstAuthorColor) \u003d\u003e {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" // eslint-disable-next-line quotes","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-content\u0027).contains(\"\u0027red\u0027: (\") // jamessspanggg","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" // #f08080, transparencyValue 50","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(240, 128, 128, 0.314)\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" .and(\u0027not.eq\u0027, firstAuthorColor);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" it(\u0027should not highlight non-attributed lines\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-title\u0027).contains(\u0027Author\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" .parent() // .hljs-class","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(255, 255, 255)\u0027); // #ffffff","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":88,"-":4}},{"path":"frontend/cypress/tests/codeView/codeView_filterGlob.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027filter glob\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check filter glob radio button is clickable\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // click on filter glob radio button","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // filter by file type should be unchecked","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027check no filter glob input should show all file types by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should be in focus after click\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // click on input box","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .click()","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027have.focus\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should have default empty value\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by enter should show all file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // enter some input","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // submit some input","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" // delete previous input","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .clear();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // enter on empty input","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by clicking should show all file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .clear();","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" // click \u0027Filter\u0027 on empty input","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by enter should not show any files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // no file should be shown","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by clicking should not show any files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" it(\u0027check filter glob should only show files with that extension\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" // try java","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .type(\u0027*java\u0027);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027).then(($files) \u003d\u003e {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // check if there is any file with .java extension","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" if ($files.hasClass(\u0027path\u0027)) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" // check each file for .java extension","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" cy.get(\u0027.title \u003e .path \u003e span\u0027)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .then(($spans) \u003d\u003e {","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" $spans.toArray().forEach((span) \u003d\u003e {","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.wrap(span).contains(\u0027.java\u0027);","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":189,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_hideFileDetails.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all file details\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all file details hides the content of all the files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hide the details of all the files","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the contents of all the files should be hidden","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check details of one file are shown, rest are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" // should show \u0027show all file details\u0027 only","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027hide all file details\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" // open contents of the first file","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // should show both \u0027show/hide all file details\u0027","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027hide all file details\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // contents of the first file should be visible","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" // contents of the last file should be hidden","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" it(\u0027check file can be hidden after scrolling\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contents of the first file should be visible","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" // scroll some lines in the contents of the second file","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: 500, left: 0 } });","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // title of the second file should still be visible","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" // close contents of the second file","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // contents of the second file should not be visible","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // title of the second file should still be visible","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" // scroll some lines up from the top of the second file","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: -500, left: 0 } });","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" // title of the first file should be visible","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" it(\u0027check show all file details shows the content of all the files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // hide the content of all the files","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // show the content of all the files","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" it(\u0027check collapsed file persists after sort\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // hide contents of the first file","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .path\u0027)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" // keep track of first file by file path so test doesn\u0027t rely on correctness of sort","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((filePath) \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" // wait until loading is finished","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // contents of file should still be hidden","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" // wait until loading is finished","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" // contents of file should still be hidden","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":201,"jonasongg":5}},{"path":"frontend/cypress/tests/codeView/codeView_mergeGroupBlame.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group blame in code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027no author breakdown shown by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // code panel should be visible","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // author breakdown should not be visible","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027merge group for group by repos shows author breakdown for each file\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // code panel should be visible","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // author breakdown should exist","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" it(\u0027author breakdown visible when file content hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" // hide content of all files","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // author breakdown should be visible","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" it(\u0027author breakdown contains only file authors in alphabetical order\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // author breakdown contains expected author count and order","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027eugenepeh\u0027, \u0027jamessspanggg\u0027, \u0027yamidark\u0027, \u0027yong24s\u0027];","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, expectedResult.length)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.wrap($el).should(\u0027contain\u0027, expectedResult[index]);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027authors are assigned the same color in all files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" // check first and second occurence of same author has the same color","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" const color \u003d $el.children().first().css(\u0027color\u0027);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .eq(1).children().first()","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027author name shown on segment hover for known authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" // author name in html title attribute should be shown","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" it(\u0027author name shown as unknown for missing authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" // author name in html title attribute should be unknown","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.untouched\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027Unknown\u0027);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" it(\u0027code segment has same color as author legend\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" // segment color should be the same as author legend color","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" const color \u003d $el.css(\u0027border-left-color\u0027);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" const author \u003d \u0027eugenepeh\u0027;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .contains(author)","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .prev()","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" it(\u0027colors in author breakdown match assigned colors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // author breakdown contains assigned colors","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027rgb(30, 144, 255)\u0027, \u0027rgb(240, 128, 128)\u0027, \u0027rgb(0, 255, 127)\u0027, \u0027rgb(255, 215, 0)\u0027];","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.wrap($el).children().first().should(\u0027have.css\u0027, \u0027color\u0027, expectedResult[index]);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":226,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Descending\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" // select radio-button","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":52,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_renderFilterHash.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027render filter hash\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027search: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027\u0027);","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" /* Enter search and test URL before and after reload */","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .type(\u0027eugene{enter}\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" it(\u0027group by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByRepos\u0027);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" /* Select group by none and test URL before and after reload */","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /* Select group by authors and test URL before and after reload */","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027sort groups by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupTitle dsc\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle%20dsc\u0027);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .select(\u0027groupTitle\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027sort within groups by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027title\u0027);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .select(\u0027title dsc\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" it(\u0027granularity: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027commit\u0027);","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dcommit\u0027);","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" /* Select timeframe as day and test URL before and after reload */","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .select(\u0027day\u0027);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" /* Select timeframe as week and test URL before and after reload */","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" .select(\u0027week\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" it(\u0027since: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u00272018-05-03\u0027);","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2018-05-03\u0027);","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" it(\u0027until: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /* Check initial state (will require dayjs for getting current date) */","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" // cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" // .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" // .should(\u0027eq\u0027, dayjs().format(\u0027YYYY-MM-DD\u0027));","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" // cy.url()","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" // .should(\u0027contain\u0027, \u0027date\u003d2023-07-06\u0027);","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" it(\u0027breakdown by file type: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" .check();","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" it(\u0027merge all groups: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" .check();","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"jonasongg"},"content":" it(\u0027show tags: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags input:visible\u0027)","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"jonasongg"},"content":" .check();","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027viewRepoTags\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027viewRepoTags\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"jonasongg"},"content":" it(\u0027optimise timeline: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline input:visible\u0027)","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"jonasongg"},"content":" .check();","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027optimiseTimeline\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027optimiseTimeline\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" it(\u0027checked file types: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"jonasongg"},"content":" // Assumption: gradle is the first file type and yml is the last file type to appear in the list","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: sort by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027authorshipSortBy\u0027);","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"jonasongg"},"content":" /* Select file name and test URL before and after reload */","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileName\u0027);","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"jonasongg"},"content":" /* Select file type and test URL before and after reload */","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileType\u0027);","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: order: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027true\u0027); // true is Descending","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027reverseAuthorshipOrder\u0027);","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"jonasongg"},"content":" /* Select ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"jonasongg"},"content":" .select(\u0027false\u0027);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"jonasongg"},"content":" /* Select descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"jonasongg"},"content":" .select(\u0027true\u0027);","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: filter by glob: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"jonasongg"},"content":" // click on filter glob radio button","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"jonasongg"},"content":" // enter some input","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"jonasongg"},"content":" .type(\u0027README.md\u0027);","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"jonasongg"},"content":" // submit","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"jonasongg"},"content":" // Some bugs appear after two reloads, so reload twice here","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":339,"jonasongg":184}},{"path":"frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch authorship\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should restore all default controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch authorship view","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // check default controls","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027path\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should not retain information from previous visited tabs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" // Assumptions:","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // The first displayed file which the first and last person worked on is different.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" let firstAuthor;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" let firstFilename;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let lastAuthor;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // open the first code panel","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" firstFilename \u003d $span.text();","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // switch authorship view","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" const lastFilename \u003d $span.text();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(firstFilename, \u0027First displayed filenames should be different for different authors\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .to.not.equal(lastFilename);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":111,"jonasongg":4}},{"path":"frontend/cypress/tests/general/general.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027general\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027correctly replaces report title\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.title().should(\u0027eq\u0027, \u0027RepoSense Test Report\u0027);","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" it(\u0027correctly contains given title\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027h1\u0027).should(\u0027contain\u0027, \u0027RepoSense Intro\u0027);","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":4,"-":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_diffstat.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027diffstat\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027should render container for contribution bars\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar-container\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // `README: Fix grammatical error` with 1 insertion and 1 deletion.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027should render non-empty contribution bars for commits with changes\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270.1%\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270.1%\u0027);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // `Merge branch \u0027new-branch` into cypress` with 0 insertions and 0 deletions.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" it(\u0027should render empty contribution bars for commits with no changes\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270%\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270%\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027should render contribution bars in proportion\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let insertionWidthSum \u003d 0;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" let deletionWidthSum \u003d 0;","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" let widthProportion \u003d 0;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c element.length; i +\u003d 1) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" const val \u003d parseFloat(element[i].style.width.split(\u0027%\u0027)[0]);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" if (element[i].style[\u0027background-color\u0027] \u003d\u003d\u003d \u0027limegreen\u0027) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" insertionWidthSum +\u003d val;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" deletionWidthSum +\u003d val;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" widthProportion \u003d insertionWidthSum / deletionWidthSum;","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" let insertions \u003d 0;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" let deletions \u003d 0;","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" let actualProportion \u003d 0;","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" cy.get(\u0027[data-cy\u003d\"changes\"]\u0027)","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .then((text) \u003d\u003e {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" const temp \u003d text.split(\u0027lines\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c temp.length - 1; i +\u003d 1) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" insertions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[0].split(\u0027+\u0027)[1].trim());","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" deletions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[1].trim());","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" actualProportion \u003d insertions / deletions;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" expect(widthProportion.toFixed(3)).to.be.equal(actualProportion.toFixed(3));","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":89,"jonasongg":4}},{"path":"frontend/cypress/tests/zoomView/zoomView_hideCommitMessages.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all commit messages \u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all commit messages hides the commit messages\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the messages of all the commits should be visible","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check show all commit messages show the commit messages\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // show the messages of all the commits","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027should only display hide all commit messages when none are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" // should only display \u0027hide all commit messages\u0027","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" it(\u0027should only display show all commit messages when all are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027should display both show and hide all commit messages when some are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" // hide the message body of the first commit","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" it(\u0027check show all and hide all commit messages only toggle current commits\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" // Assumptions: the fifth commit (19e3294) of the first author of the first repo","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" // contains changes in only .java files.","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // uncheck java file type","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check java file type","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // commit body of the merge commit should be visible","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" // commit body of the md commit should not be visible","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" // commit body of the java commit should be visible","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .scrollIntoView()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" it(\u0027check hidden commit message persists after sort\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" // hide the message body of the first commit","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .hash\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // keep track of first commit by hash so test doesn\u0027t rely on correctness of sort","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .then((hash) \u003d\u003e {","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" // message body should still be hidden","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" // message body should still be hidden","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":230,"jonasongg":7}},{"path":"frontend/cypress/tests/zoomView/zoomView_mergeCommits.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027include merge commits in zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027show merge commits when all file types selected\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commits panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is visible","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027hide merge commits when some file types unselected\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" // open the commits panel","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" // uncheck the java file type","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is not visible","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":28,"jonasongg":2}},{"path":"frontend/cypress/tests/zoomView/zoomView_rampChart.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027show ramp chart for period\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for all commits by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when date range changed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when zooming\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // zoom into ramp on summary panel","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // commits panel should be visible","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027ramps should be between start date and end date\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" // first ramp should be for commit after start date","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2018-06-12] Setup AppVeyor CI (#142): +19 -0 lines \u0027);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" // last ramp should be for commit before end date","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-03-25] [#622] CsvParser#parse: fix error handling of `processLine` (#623): +30 -10 lines \u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" it(\u0027ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" // last ramp should have expected z-index","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027z-index\u0027, \u002739\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // last ramp should have expected width","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-left-width\u0027, \u00277px\u0027);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" // Assumptions: The second author on the summary panel","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" // should be \u0027jamessspanggg\u0027.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" it(\u0027deletes commit ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" .type(\u00272019-07-16\u0027);","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .type(\u00272019-07-29\u0027);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" // deletes commit ramp should have expected color","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.get(\u0027[title\u003d\"[2019-07-24] [#828] Revert \\\\\"v_summary.js: remove redundant calls \u0027","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" + \u0027to getFiltered() (#800)\\\\\" (#832): +0 -9 lines \"]\u0027)","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.class\u0027, \u0027ramp__slice\u0027)","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-bottom\u0027, \u002748px solid rgba(244, 67, 54, 0.7)\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" it(\u0027merge commit ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(\u00272024-03-04\u0027);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" // merge commit ramp should have expected color","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((border1) \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .then((border2) \u003d\u003e {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" expect(border1).to.be.eq(border2);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" it(\u0027ramps from different days should have expected relative properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" expect(index1).to.be.gt(index2);","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" expect(distance1).to.be.lt(distance2);","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" it(\u0027ramps from the same day should have expected relative properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .type(\u00272023-03-04\u0027);","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" expect(index1).to.be.eq(index2);","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" expect(distance1).to.be.gt(distance2);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" it(\u0027ramp should link to commit webpage\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" // last ramp should have expected link","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027href\u0027)","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027https://github.com/reposense/RepoSense/commit/19e32944d4c67ed0b6bdc5697016536cc9e17ed9\u0027);","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":284,"jonasongg":9}},{"path":"frontend/cypress/tests/zoomView/zoomView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":41,"jonasongg":1}},{"path":"frontend/cypress/tests/zoomView/zoomView_selectFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types \u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all file types are visible by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" it(\u0027uncheck all file types should show no files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .uncheck();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Assumptions: the first author of the first repo","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" // committed .java, .js and .gradle files.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"js\"]\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027a commit should not be seen when all of its file types are unchecked\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: the third commit (19e3294) of the first author of the first repo","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // contains changes in only .java files.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u002719e3294\u0027);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027java\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u002719e3294\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" it.only(\u0027unchecked file type label can still remain in a commit of multiple file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: the eighth commit (5ab0322) of the first author of the first repo","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contains changes in both .java and .md files.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(7)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // note that the same commit is now of fourth order since other commits","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // were filtered out","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(3)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":105,"jonasongg":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should restore all default controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch zoom view","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027).scrollTo(\u0027top\u0027);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" // check default controls","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027linesOfCode\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027time\u0027);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"md\"]\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should not retain information from previous visited tabs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // Assumptions:","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" // The first day in which the first and last person contributed is different.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let firstAuthor;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" let firstDay;","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" let lastAuthor;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .then(($h3) \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" firstDay \u003d $h3.text();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // switch zoom view","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(($h3) \u003d\u003e {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" const lastDay \u003d $h3.text();","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" expect(firstDay, \u0027First displayed date should be different for different authors by assumptions\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .to.not.equal(lastDay);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":113,"jonasongg":4}},{"path":"frontend/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 3,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"requires\": true,","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"packages\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\",","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\",","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\",","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"@vitejs/plugin-vue\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\",","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"vite\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin\": \"^1.7.0\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"^20.12.4\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@vue/eslint-config-typescript\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^18.0.0\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"~4.9.5\",","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"typescript-eslint\": \"^7.3.1\",","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"vite-plugin-eslint2\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"vite-plugin-stylelint\": \"^5.3.1\"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"node_modules/@aashutoshrathi/word-wrap\": {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.6\",","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"node_modules/@babel/code-frame\": {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.5\",","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"@babel/highlight\": \"^7.23.4\",","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"node_modules/@babel/helper-string-parser\": {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\",","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"node_modules/@babel/helper-validator-identifier\": {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.20\",","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"node_modules/@babel/highlight\": {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\",","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\",","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\",","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" \"js-tokens\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"sopa301"},"content":" \"node_modules/@babel/parser\": {","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"parser\": \"bin/babel-parser.js\"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"node_modules/@babel/types\": {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-string-parser\": \"^7.23.4\",","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\",","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"sopa301"},"content":" \"to-fast-properties\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/css-parser-algorithms\": {","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.1\",","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz\",","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA\u003d\u003d\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/css-tokenizer\": {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.4\",","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz\",","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw\u003d\u003d\",","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/media-query-list-parser\": {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.9\",","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz\",","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA\u003d\u003d\",","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\",","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/selector-specificity\": {","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.13\"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"sopa301"},"content":" \"node_modules/@dual-bundle/import-meta-resolve\": {","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/wooorm\"","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/aix-ppc64\": {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g\u003d\u003d\",","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"sopa301"},"content":" \"ppc64\"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"sopa301"},"content":" \"aix\"","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/android-arm\": {","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w\u003d\u003d\",","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"sopa301"},"content":" \"arm\"","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"sopa301"},"content":" \"android\"","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/android-arm64\": {","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg\u003d\u003d\",","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"sopa301"},"content":" \"android\"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/android-x64\": {","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg\u003d\u003d\",","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"sopa301"},"content":" \"android\"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/darwin-arm64\": {","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"sopa301"},"content":" \"darwin\"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/darwin-x64\": {","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA\u003d\u003d\",","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"sopa301"},"content":" \"darwin\"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/freebsd-arm64\": {","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw\u003d\u003d\",","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"sopa301"},"content":" \"freebsd\"","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/freebsd-x64\": {","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw\u003d\u003d\",","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"sopa301"},"content":" \"freebsd\"","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-arm\": {","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg\u003d\u003d\",","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"sopa301"},"content":" \"arm\"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-arm64\": {","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A\u003d\u003d\",","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-ia32\": {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig\u003d\u003d\",","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"sopa301"},"content":" \"ia32\"","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-loong64\": {","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"sopa301"},"content":" \"loong64\"","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-mips64el\": {","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"sopa301"},"content":" \"mips64el\"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-ppc64\": {","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg\u003d\u003d\",","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"sopa301"},"content":" \"ppc64\"","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-riscv64\": {","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" \"riscv64\"","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-s390x\": {","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"sopa301"},"content":" \"s390x\"","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/linux-x64\": {","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw\u003d\u003d\",","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/netbsd-x64\": {","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" \"netbsd\"","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/openbsd-x64\": {","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"openbsd\"","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/sunos-x64\": {","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w\u003d\u003d\",","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"sopa301"},"content":" \"sunos\"","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/win32-arm64\": {","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/win32-ia32\": {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"sopa301"},"content":" \"ia32\"","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"node_modules/@esbuild/win32-x64\": {","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils\": {","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.0\",","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\"","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || \u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/regexpp\": {","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.10.0\",","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.0.0 || ^14.0.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/eslintrc\": {","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.4\",","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.12.4\",","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.2\",","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.0\",","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"sopa301"},"content":" \"globals\": \"^13.19.0\",","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"sopa301"},"content":" \"import-fresh\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"sopa301"},"content":" \"strip-json-comments\": \"^3.1.1\"","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/eslintrc/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/eslintrc/node_modules/globals\": {","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.24.0\",","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/eslintrc/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/js\": {","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\",","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fontsource/titillium-web\": {","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.19\",","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.0.19.tgz\",","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ktxZrkQUjHD+cKhCgm9YZU6vfHJAguFTidb832BFra21dniFpWiEpkot18VkYyuSnxoGUjrC9aLOB1Dc14N4vg\u003d\u003d\"","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fortawesome/fontawesome-common-types\": {","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fortawesome/fontawesome-svg-core\": {","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fortawesome/free-brands-svg-icons\": {","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"sopa301"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\",","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fortawesome/free-solid-svg-icons\": {","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"sopa301"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\",","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"sopa301"},"content":" \"node_modules/@fortawesome/vue-fontawesome\": {","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.6\",","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"~1 || ~6\",","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"sopa301"},"content":" \"vue\": \"\u003e\u003d 3.0.0 \u003c 4\"","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"sopa301"},"content":" \"node_modules/@humanwhocodes/config-array\": {","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.14\",","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/object-schema\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.1\",","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.0.5\"","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.10.0\"","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"sopa301"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"sopa301"},"content":" \"node_modules/@humanwhocodes/module-importer\": {","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12.22\"","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/nzakas\"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"sopa301"},"content":" \"node_modules/@humanwhocodes/object-schema\": {","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/schemas\": {","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.6.3\",","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA\u003d\u003d\",","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"sopa301"},"content":" \"@sinclair/typebox\": \"^0.27.8\"","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types\": {","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.6.3\",","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz\",","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw\u003d\u003d\",","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"sopa301"},"content":" \"@jest/schemas\": \"^29.6.3\",","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-coverage\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-reports\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"sopa301"},"content":" \"@types/yargs\": \"^17.0.8\",","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/resolve-uri\": {","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/set-array\": {","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/source-map\": {","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.2\",","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.0\",","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping\": {","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.2\",","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/set-array\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\",","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/sourcemap-codec\": {","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.14\",","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jridgewell/trace-mapping\": {","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.17\",","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/resolve-uri\": \"3.1.0\",","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/sourcemap-codec\": \"1.4.14\"","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"node_modules/@nodelib/fs.scandir\": {","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.5\",","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"sopa301"},"content":" \"@nodelib/fs.stat\": \"2.0.5\",","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"sopa301"},"content":" \"run-parallel\": \"^1.1.9\"","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"node_modules/@nodelib/fs.stat\": {","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"sopa301"},"content":" \"node_modules/@nodelib/fs.walk\": {","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"sopa301"},"content":" \"@nodelib/fs.scandir\": \"2.1.5\",","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"sopa301"},"content":" \"fastq\": \"^1.6.0\"","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/pluginutils\": {","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz\",","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g\u003d\u003d\",","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"sopa301"},"content":" \"@types/estree\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"sopa301"},"content":" \"estree-walker\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.3.1\"","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"sopa301"},"content":" \"rollup\": \"^1.20.0||^2.0.0||^3.0.0||^4.0.0\"","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"sopa301"},"content":" \"rollup\": {","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-android-arm-eabi\": {","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"sopa301"},"content":" \"arm\"","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"sopa301"},"content":" \"android\"","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-android-arm64\": {","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"sopa301"},"content":" \"android\"","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-darwin-arm64\": {","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1019,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1020,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1021,"author":{"gitId":"sopa301"},"content":" \"darwin\"","isFullCredit":false},{"lineNumber":1022,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1023,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1024,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-darwin-x64\": {","isFullCredit":false},{"lineNumber":1025,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1026,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1027,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1028,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1029,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":1030,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1033,"author":{"gitId":"sopa301"},"content":" \"darwin\"","isFullCredit":false},{"lineNumber":1034,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1035,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1036,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {","isFullCredit":false},{"lineNumber":1037,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1038,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1039,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1040,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1041,"author":{"gitId":"sopa301"},"content":" \"arm\"","isFullCredit":false},{"lineNumber":1042,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1043,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1044,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1045,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1046,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {","isFullCredit":false},{"lineNumber":1049,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1050,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1051,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1052,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1053,"author":{"gitId":"sopa301"},"content":" \"arm\"","isFullCredit":false},{"lineNumber":1054,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1055,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1056,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1057,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1058,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1059,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1060,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-arm64-gnu\": {","isFullCredit":false},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1063,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1064,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1065,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":1066,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1067,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1068,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1069,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1070,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1071,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1072,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-arm64-musl\": {","isFullCredit":false},{"lineNumber":1073,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1074,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1077,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":1078,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1079,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1080,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1081,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1082,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1083,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1084,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {","isFullCredit":false},{"lineNumber":1085,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1086,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1087,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1088,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1089,"author":{"gitId":"sopa301"},"content":" \"ppc64\"","isFullCredit":false},{"lineNumber":1090,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1091,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1092,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1093,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1094,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1095,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1096,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {","isFullCredit":false},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1099,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1100,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1101,"author":{"gitId":"sopa301"},"content":" \"riscv64\"","isFullCredit":false},{"lineNumber":1102,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1103,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1104,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1105,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1106,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1107,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1108,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-s390x-gnu\": {","isFullCredit":false},{"lineNumber":1109,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1110,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1111,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"s390x\"","isFullCredit":false},{"lineNumber":1114,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1115,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1116,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1117,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1118,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1119,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1120,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-x64-gnu\": {","isFullCredit":false},{"lineNumber":1121,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1124,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1125,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1128,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1129,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1130,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1131,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1132,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-linux-x64-musl\": {","isFullCredit":false},{"lineNumber":1133,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1134,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1135,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1136,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1137,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":1138,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1139,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1140,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"linux\"","isFullCredit":false},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1143,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1144,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-win32-arm64-msvc\": {","isFullCredit":false},{"lineNumber":1145,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1146,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1147,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1148,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1149,"author":{"gitId":"sopa301"},"content":" \"arm64\"","isFullCredit":false},{"lineNumber":1150,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1151,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1152,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1153,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":1154,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-win32-ia32-msvc\": {","isFullCredit":false},{"lineNumber":1157,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1158,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1159,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1160,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1161,"author":{"gitId":"sopa301"},"content":" \"ia32\"","isFullCredit":false},{"lineNumber":1162,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1163,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1164,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1165,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":1166,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1167,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1168,"author":{"gitId":"sopa301"},"content":" \"node_modules/@rollup/rollup-win32-x64-msvc\": {","isFullCredit":false},{"lineNumber":1169,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1172,"author":{"gitId":"sopa301"},"content":" \"cpu\": [","isFullCredit":false},{"lineNumber":1173,"author":{"gitId":"sopa301"},"content":" \"x64\"","isFullCredit":false},{"lineNumber":1174,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1175,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":1176,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":1177,"author":{"gitId":"sopa301"},"content":" \"win32\"","isFullCredit":false},{"lineNumber":1178,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1179,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1180,"author":{"gitId":"sopa301"},"content":" \"node_modules/@sinclair/typebox\": {","isFullCredit":false},{"lineNumber":1181,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.27.8\",","isFullCredit":false},{"lineNumber":1182,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",","isFullCredit":false},{"lineNumber":1183,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1186,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin\": {","isFullCredit":false},{"lineNumber":1187,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1188,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":1189,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1190,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1191,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1192,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-js\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1193,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-jsx\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1194,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-plus\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1195,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-ts\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1196,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^8.56.8\"","isFullCredit":false},{"lineNumber":1197,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1198,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1199,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1200,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1201,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1202,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":1203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1205,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-js\": {","isFullCredit":false},{"lineNumber":1206,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1207,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":1208,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1209,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1210,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1211,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":1212,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^8.11.3\",","isFullCredit":false},{"lineNumber":1213,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.3\",","isFullCredit":false},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.1\"","isFullCredit":false},{"lineNumber":1216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1217,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1218,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1219,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1220,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1221,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":1222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1223,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1224,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-js/node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":1225,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1226,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1227,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1228,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1229,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1230,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1231,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1232,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1233,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1234,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1235,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1236,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-js/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":1237,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":1238,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":1239,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":1240,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1241,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1242,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1243,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1245,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":1246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1248,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx\": {","isFullCredit":false},{"lineNumber":1249,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1250,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":1251,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1252,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1253,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1254,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-js\": \"^1.7.2\",","isFullCredit":false},{"lineNumber":1255,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":1256,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^5.3.0\",","isFullCredit":false},{"lineNumber":1257,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^4.0.2\"","isFullCredit":false},{"lineNumber":1258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1259,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1261,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1262,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1263,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":1264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1266,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":1267,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":1268,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",","isFullCredit":false},{"lineNumber":1269,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1270,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1271,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1272,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":1273,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1274,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1275,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx/node_modules/picomatch\": {","isFullCredit":false},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.2\",","isFullCredit":false},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",","isFullCredit":false},{"lineNumber":1278,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1279,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1280,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1281,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":1282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1283,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1284,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\"","isFullCredit":false},{"lineNumber":1285,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1286,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1287,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-plus\": {","isFullCredit":false},{"lineNumber":1288,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1289,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":1290,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1291,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1292,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1293,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":1294,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"^6.21.0\"","isFullCredit":false},{"lineNumber":1295,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1296,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1297,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"*\"","isFullCredit":false},{"lineNumber":1298,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1299,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1300,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/eslint-plugin-ts\": {","isFullCredit":false},{"lineNumber":1301,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1302,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":1303,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1304,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1305,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin-js\": \"1.7.2\",","isFullCredit":false},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":1308,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"^6.21.0\"","isFullCredit":false},{"lineNumber":1309,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1310,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1311,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1312,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1313,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1314,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":1315,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1316,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1317,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/stylelint-plugin\": {","isFullCredit":false},{"lineNumber":1318,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":1319,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-2.1.1.tgz\",","isFullCredit":false},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xqHTmQZN7EbnFDW7jw0rAsdFNO4IRqvXhrh3qhUlIwF/x09Zm7kgs/ADktHxsTJYcw346PpGihsB0t4pZhpeHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1321,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1322,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1323,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.5.0\",","isFullCredit":false},{"lineNumber":1324,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.3\",","isFullCredit":false},{"lineNumber":1325,"author":{"gitId":"sopa301"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.7\",","isFullCredit":false},{"lineNumber":1326,"author":{"gitId":"sopa301"},"content":" \"is-plain-object\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":1327,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":1328,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":1329,"author":{"gitId":"sopa301"},"content":" \"style-search\": \"^0.1.0\",","isFullCredit":false},{"lineNumber":1330,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.2.1\"","isFullCredit":false},{"lineNumber":1331,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1332,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1333,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.12 || \u003e\u003d20.9\"","isFullCredit":false},{"lineNumber":1334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1335,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":1337,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1338,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1339,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/babel-types\": {","isFullCredit":false},{"lineNumber":1340,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.11\",","isFullCredit":false},{"lineNumber":1341,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1342,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1343,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/babylon\": {","isFullCredit":false},{"lineNumber":1344,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.16.6\",","isFullCredit":false},{"lineNumber":1345,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1346,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1347,"author":{"gitId":"sopa301"},"content":" \"@types/babel-types\": \"*\"","isFullCredit":false},{"lineNumber":1348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/eslint\": {","isFullCredit":false},{"lineNumber":1351,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.56.10\",","isFullCredit":false},{"lineNumber":1352,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz\",","isFullCredit":false},{"lineNumber":1353,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1354,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1355,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1356,"author":{"gitId":"sopa301"},"content":" \"@types/estree\": \"*\",","isFullCredit":false},{"lineNumber":1357,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"*\"","isFullCredit":false},{"lineNumber":1358,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1359,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1360,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/eslint-scope\": {","isFullCredit":false},{"lineNumber":1361,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.7.4\",","isFullCredit":false},{"lineNumber":1362,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":1365,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1366,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"*\",","isFullCredit":false},{"lineNumber":1367,"author":{"gitId":"sopa301"},"content":" \"@types/estree\": \"*\"","isFullCredit":false},{"lineNumber":1368,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1369,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1370,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/estree\": {","isFullCredit":false},{"lineNumber":1371,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":1372,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz\",","isFullCredit":false},{"lineNumber":1373,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw\u003d\u003d\"","isFullCredit":false},{"lineNumber":1374,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1375,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-lib-coverage\": {","isFullCredit":false},{"lineNumber":1376,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":1377,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",","isFullCredit":false},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1380,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1381,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-lib-report\": {","isFullCredit":false},{"lineNumber":1382,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":1383,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":1384,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1385,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1386,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1387,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-coverage\": \"*\"","isFullCredit":false},{"lineNumber":1388,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1389,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1390,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-reports\": {","isFullCredit":false},{"lineNumber":1391,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",","isFullCredit":false},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1394,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1395,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1396,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-report\": \"*\"","isFullCredit":false},{"lineNumber":1397,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1399,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/json-schema\": {","isFullCredit":false},{"lineNumber":1400,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.15\",","isFullCredit":false},{"lineNumber":1401,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1402,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1403,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1404,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/json5\": {","isFullCredit":false},{"lineNumber":1405,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.29\",","isFullCredit":false},{"lineNumber":1406,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1407,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1408,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1409,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/linkify-it\": {","isFullCredit":false},{"lineNumber":1410,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.5\",","isFullCredit":false},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1412,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1413,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/markdown-it\": {","isFullCredit":false},{"lineNumber":1414,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.0.7\",","isFullCredit":false},{"lineNumber":1415,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1416,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1417,"author":{"gitId":"sopa301"},"content":" \"@types/linkify-it\": \"*\",","isFullCredit":false},{"lineNumber":1418,"author":{"gitId":"sopa301"},"content":" \"@types/mdurl\": \"*\"","isFullCredit":false},{"lineNumber":1419,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1420,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1421,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/mdurl\": {","isFullCredit":false},{"lineNumber":1422,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":1423,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1424,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/minimatch\": {","isFullCredit":false},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":1427,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1428,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1429,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/node\": {","isFullCredit":false},{"lineNumber":1430,"author":{"gitId":"sopa301"},"content":" \"version\": \"20.12.7\",","isFullCredit":false},{"lineNumber":1431,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz\",","isFullCredit":false},{"lineNumber":1432,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1433,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":1434,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1435,"author":{"gitId":"sopa301"},"content":" \"undici-types\": \"~5.26.4\"","isFullCredit":false},{"lineNumber":1436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1437,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1438,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/seedrandom\": {","isFullCredit":false},{"lineNumber":1439,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.8\",","isFullCredit":false},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":1441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1442,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/semver\": {","isFullCredit":false},{"lineNumber":1443,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.8\",","isFullCredit":false},{"lineNumber":1444,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",","isFullCredit":false},{"lineNumber":1445,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1446,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1448,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yargs\": {","isFullCredit":false},{"lineNumber":1449,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.0.32\",","isFullCredit":false},{"lineNumber":1450,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz\",","isFullCredit":false},{"lineNumber":1451,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog\u003d\u003d\",","isFullCredit":false},{"lineNumber":1452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1453,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"@types/yargs-parser\": \"*\"","isFullCredit":false},{"lineNumber":1455,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1456,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1457,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yargs-parser\": {","isFullCredit":false},{"lineNumber":1458,"author":{"gitId":"sopa301"},"content":" \"version\": \"21.0.3\",","isFullCredit":false},{"lineNumber":1459,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",","isFullCredit":false},{"lineNumber":1460,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1461,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1462,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1463,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/eslint-plugin\": {","isFullCredit":false},{"lineNumber":1464,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1465,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1466,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1467,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1468,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.10.0\",","isFullCredit":false},{"lineNumber":1470,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1471,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1472,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1473,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1474,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":1475,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":1476,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.3.1\",","isFullCredit":false},{"lineNumber":1477,"author":{"gitId":"sopa301"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":1478,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":1479,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":1480,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1481,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1484,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1485,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1486,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1487,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1488,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1489,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":1490,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":1491,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1492,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1493,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":1494,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1495,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1497,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1498,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":1499,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1500,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1501,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":1502,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1503,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1504,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":1505,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":1506,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":1507,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1508,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1509,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1510,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":1511,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1512,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1513,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1514,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1515,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1516,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1517,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1518,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1519,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1520,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":1521,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1522,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1523,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1524,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1525,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1526,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1527,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1528,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1529,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1531,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1532,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1535,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver\": {","isFullCredit":false},{"lineNumber":1536,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":1537,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":1538,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1539,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1540,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1541,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1542,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1543,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1544,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1545,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1546,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1547,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1548,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1549,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1550,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1551,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1552,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1553,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1554,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1555,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1556,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/parser\": {","isFullCredit":false},{"lineNumber":1557,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1558,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1559,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1560,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1561,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1562,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1563,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1564,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1565,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1566,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\"","isFullCredit":false},{"lineNumber":1567,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1568,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1569,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1570,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1571,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1572,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1573,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1574,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1575,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1576,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":1577,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1578,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1579,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":1580,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1581,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1582,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1584,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/scope-manager\": {","isFullCredit":false},{"lineNumber":1585,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1586,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1587,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1588,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1589,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1590,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1591,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\"","isFullCredit":false},{"lineNumber":1592,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1593,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1594,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1595,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1596,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1597,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1598,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1599,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1600,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1601,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/type-utils\": {","isFullCredit":false},{"lineNumber":1602,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1605,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1606,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1607,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1608,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1609,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":1610,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":1611,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1612,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1613,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1616,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1617,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1619,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1620,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":1621,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1622,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1626,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1627,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1631,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":1632,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1633,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1634,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":1635,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":1641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1642,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1644,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1648,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1649,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1650,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":1651,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1652,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1653,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1654,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1655,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1657,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1658,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1661,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1663,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1665,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/semver\": {","isFullCredit":false},{"lineNumber":1666,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":1667,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":1668,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1669,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1670,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1672,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1673,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1675,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1676,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1678,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1679,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1685,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/types\": {","isFullCredit":false},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1690,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1691,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1693,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1697,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/typescript-estree\": {","isFullCredit":false},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1703,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1704,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.4\",","isFullCredit":false},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":1713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1714,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1716,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1717,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1720,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1724,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1725,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1726,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1731,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1732,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1733,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1734,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1735,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1737,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1738,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/semver\": {","isFullCredit":false},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1743,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1744,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1745,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1747,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1748,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1749,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1750,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1752,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1753,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1759,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1760,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":1763,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1764,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1765,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.12\",","isFullCredit":false},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.0\",","isFullCredit":false},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.4\"","isFullCredit":false},{"lineNumber":1773,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1774,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1775,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1777,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1780,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1781,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\"","isFullCredit":false},{"lineNumber":1783,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1784,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager\": {","isFullCredit":false},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1789,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1790,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\"","isFullCredit":false},{"lineNumber":1793,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1794,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1797,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1800,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1802,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types\": {","isFullCredit":false},{"lineNumber":1803,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1804,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1806,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1807,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1809,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1810,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1812,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1813,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1814,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1815,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree\": {","isFullCredit":false},{"lineNumber":1816,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1817,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1819,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1820,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1821,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1822,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":1824,"author":{"gitId":"sopa301"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":1825,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":1826,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"9.0.3\",","isFullCredit":false},{"lineNumber":1827,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.4\",","isFullCredit":false},{"lineNumber":1828,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":1829,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1830,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1832,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1833,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1834,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1836,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1837,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1838,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":1839,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1840,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1841,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1842,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys\": {","isFullCredit":false},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1845,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1847,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1848,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1849,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":1850,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.1\"","isFullCredit":false},{"lineNumber":1851,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1852,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1854,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1855,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1856,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1858,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1860,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":1861,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":1862,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":1863,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":1864,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1865,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1867,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1868,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":1870,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1873,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1876,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1877,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1878,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1879,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1880,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1882,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1883,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1884,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":1885,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.3\",","isFullCredit":false},{"lineNumber":1886,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz\",","isFullCredit":false},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1888,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1889,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1890,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":1891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1892,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1893,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\"","isFullCredit":false},{"lineNumber":1894,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1895,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1896,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":1897,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1898,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/semver\": {","isFullCredit":false},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":1901,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1903,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1904,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1905,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1906,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1907,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1908,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1910,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1912,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1914,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1915,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1918,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1919,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/visitor-keys\": {","isFullCredit":false},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1922,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":1923,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1924,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1925,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1926,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.3\"","isFullCredit":false},{"lineNumber":1928,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1929,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1931,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1932,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1933,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":1935,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1936,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1937,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":1938,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":1939,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":1940,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":1941,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1942,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1944,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1945,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":1947,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1948,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"node_modules/@ungap/structured-clone\": {","isFullCredit":false},{"lineNumber":1950,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":1951,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1952,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":1953,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1954,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vitejs/plugin-vue\": {","isFullCredit":false},{"lineNumber":1955,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.4\",","isFullCredit":false},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz\",","isFullCredit":false},{"lineNumber":1957,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1958,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1959,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.0.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":1960,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1962,"author":{"gitId":"sopa301"},"content":" \"vite\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":1963,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.25\"","isFullCredit":false},{"lineNumber":1964,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1965,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1966,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/compiler-core\": {","isFullCredit":false},{"lineNumber":1967,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1969,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1970,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\",","isFullCredit":false},{"lineNumber":1971,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1972,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.5.0\",","isFullCredit":false},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"estree-walker\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":1975,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1976,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1977,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/compiler-dom\": {","isFullCredit":false},{"lineNumber":1978,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1980,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1981,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1982,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":1983,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1984,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1985,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/compiler-sfc\": {","isFullCredit":false},{"lineNumber":1986,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1987,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1988,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1989,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\",","isFullCredit":false},{"lineNumber":1990,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1991,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1992,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1993,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":1994,"author":{"gitId":"sopa301"},"content":" \"estree-walker\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":1995,"author":{"gitId":"sopa301"},"content":" \"magic-string\": \"^0.30.7\",","isFullCredit":false},{"lineNumber":1996,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.35\",","isFullCredit":false},{"lineNumber":1997,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":1998,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1999,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2000,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/compiler-ssr\": {","isFullCredit":false},{"lineNumber":2001,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2004,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2005,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":2006,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2008,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/devtools-api\": {","isFullCredit":false},{"lineNumber":2009,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.6.1\",","isFullCredit":false},{"lineNumber":2010,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2011,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2012,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript\": {","isFullCredit":false},{"lineNumber":2013,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.0.0\",","isFullCredit":false},{"lineNumber":2014,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz\",","isFullCredit":false},{"lineNumber":2015,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2016,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2018,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":2019,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":2020,"author":{"gitId":"sopa301"},"content":" \"vue-eslint-parser\": \"^9.3.1\"","isFullCredit":false},{"lineNumber":2021,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2022,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2023,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2024,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2025,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2026,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\",","isFullCredit":false},{"lineNumber":2027,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":2028,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.7.4\"","isFullCredit":false},{"lineNumber":2029,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2031,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2033,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2034,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2035,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2036,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/reactivity\": {","isFullCredit":false},{"lineNumber":2037,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2038,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2040,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":2041,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2042,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/runtime-core\": {","isFullCredit":false},{"lineNumber":2044,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2045,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2047,"author":{"gitId":"sopa301"},"content":" \"@vue/reactivity\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2048,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":2049,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2051,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/runtime-dom\": {","isFullCredit":false},{"lineNumber":2052,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2053,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2055,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2056,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2057,"author":{"gitId":"sopa301"},"content":" \"csstype\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":2058,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2059,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2060,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/server-renderer\": {","isFullCredit":false},{"lineNumber":2061,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2063,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2064,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2065,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2068,"author":{"gitId":"sopa301"},"content":" \"vue\": \"3.4.21\"","isFullCredit":false},{"lineNumber":2069,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2070,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2071,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/shared\": {","isFullCredit":false},{"lineNumber":2072,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":2073,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2075,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/ast\": {","isFullCredit":false},{"lineNumber":2076,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2078,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2079,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2081,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-numbers\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2082,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2083,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2084,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2085,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/floating-point-hex-parser\": {","isFullCredit":false},{"lineNumber":2086,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2088,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2089,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2091,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/helper-api-error\": {","isFullCredit":false},{"lineNumber":2092,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2094,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2095,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2097,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/helper-buffer\": {","isFullCredit":false},{"lineNumber":2098,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2100,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2101,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2103,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/helper-numbers\": {","isFullCredit":false},{"lineNumber":2104,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2105,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2106,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2107,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2109,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/floating-point-hex-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2110,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2111,"author":{"gitId":"sopa301"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":2112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2113,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2114,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {","isFullCredit":false},{"lineNumber":2115,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2116,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2117,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2118,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2120,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/helper-wasm-section\": {","isFullCredit":false},{"lineNumber":2121,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2123,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2124,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2126,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2127,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2128,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2129,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2131,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2132,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/ieee754\": {","isFullCredit":false},{"lineNumber":2133,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2135,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2136,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2138,"author":{"gitId":"sopa301"},"content":" \"@xtuc/ieee754\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":2139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2140,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2141,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/leb128\": {","isFullCredit":false},{"lineNumber":2142,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2144,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":2145,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2147,"author":{"gitId":"sopa301"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":2148,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2149,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2150,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/utf8\": {","isFullCredit":false},{"lineNumber":2151,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2153,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2154,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2156,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/wasm-edit\": {","isFullCredit":false},{"lineNumber":2157,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2159,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2160,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2162,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2163,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2164,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2165,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-section\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2166,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2167,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-opt\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2168,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2169,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wast-printer\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2170,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2171,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2172,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/wasm-gen\": {","isFullCredit":false},{"lineNumber":2173,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2175,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2176,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2178,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2179,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2180,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2181,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2182,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2185,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/wasm-opt\": {","isFullCredit":false},{"lineNumber":2186,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2188,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2189,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2190,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2191,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2192,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2193,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2194,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2197,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/wasm-parser\": {","isFullCredit":false},{"lineNumber":2198,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2201,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2203,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2204,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2205,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2206,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2207,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2208,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\"","isFullCredit":false},{"lineNumber":2209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2210,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2211,"author":{"gitId":"sopa301"},"content":" \"node_modules/@webassemblyjs/wast-printer\": {","isFullCredit":false},{"lineNumber":2212,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2215,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2217,"author":{"gitId":"sopa301"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":2218,"author":{"gitId":"sopa301"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":2219,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2221,"author":{"gitId":"sopa301"},"content":" \"node_modules/@xtuc/ieee754\": {","isFullCredit":false},{"lineNumber":2222,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":2223,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2224,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":2225,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2226,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2227,"author":{"gitId":"sopa301"},"content":" \"node_modules/@xtuc/long\": {","isFullCredit":false},{"lineNumber":2228,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.2\",","isFullCredit":false},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2230,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":2231,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2232,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2233,"author":{"gitId":"sopa301"},"content":" \"node_modules/acorn\": {","isFullCredit":false},{"lineNumber":2234,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.11.3\",","isFullCredit":false},{"lineNumber":2235,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2236,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2237,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2238,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":2239,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2241,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":2242,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2243,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2244,"author":{"gitId":"sopa301"},"content":" \"node_modules/acorn-import-assertions\": {","isFullCredit":false},{"lineNumber":2245,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.8.0\",","isFullCredit":false},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2247,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2248,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2249,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2250,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^8\"","isFullCredit":false},{"lineNumber":2251,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2253,"author":{"gitId":"sopa301"},"content":" \"node_modules/acorn-jsx\": {","isFullCredit":false},{"lineNumber":2254,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.2\",","isFullCredit":false},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2258,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"","isFullCredit":false},{"lineNumber":2259,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2260,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2261,"author":{"gitId":"sopa301"},"content":" \"node_modules/ajv\": {","isFullCredit":false},{"lineNumber":2262,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.12.6\",","isFullCredit":false},{"lineNumber":2263,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2264,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2265,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2266,"author":{"gitId":"sopa301"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":2267,"author":{"gitId":"sopa301"},"content":" \"fast-json-stable-stringify\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2268,"author":{"gitId":"sopa301"},"content":" \"json-schema-traverse\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":2269,"author":{"gitId":"sopa301"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":2270,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2271,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2272,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":2273,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":2274,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2275,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2276,"author":{"gitId":"sopa301"},"content":" \"node_modules/ajv-formats\": {","isFullCredit":false},{"lineNumber":2277,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2279,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2281,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":2282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2283,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2284,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":2285,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2286,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2287,"author":{"gitId":"sopa301"},"content":" \"ajv\": {","isFullCredit":false},{"lineNumber":2288,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2289,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2290,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2291,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2292,"author":{"gitId":"sopa301"},"content":" \"node_modules/ajv-formats/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":2293,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2295,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2297,"author":{"gitId":"sopa301"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":2298,"author":{"gitId":"sopa301"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2299,"author":{"gitId":"sopa301"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2300,"author":{"gitId":"sopa301"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":2301,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2302,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2303,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":2304,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":2305,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2306,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2307,"author":{"gitId":"sopa301"},"content":" \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":2308,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2310,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2311,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2312,"author":{"gitId":"sopa301"},"content":" \"node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":2313,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.5.2\",","isFullCredit":false},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2315,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2316,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2317,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2318,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.9.1\"","isFullCredit":false},{"lineNumber":2319,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2320,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2321,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":2322,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2324,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2327,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2329,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":2330,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2333,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2334,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":2335,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2337,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":2338,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2339,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2340,"author":{"gitId":"sopa301"},"content":" \"node_modules/anymatch\": {","isFullCredit":false},{"lineNumber":2341,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":2342,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2343,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2345,"author":{"gitId":"sopa301"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2346,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.0.4\"","isFullCredit":false},{"lineNumber":2347,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2348,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2349,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":2350,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2351,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2352,"author":{"gitId":"sopa301"},"content":" \"node_modules/argparse\": {","isFullCredit":false},{"lineNumber":2353,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2354,"author":{"gitId":"sopa301"},"content":" \"license\": \"Python-2.0\"","isFullCredit":false},{"lineNumber":2355,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2356,"author":{"gitId":"sopa301"},"content":" \"node_modules/array-buffer-byte-length\": {","isFullCredit":false},{"lineNumber":2357,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2360,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2361,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":2362,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\"","isFullCredit":false},{"lineNumber":2363,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2364,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2366,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2367,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2368,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2369,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2370,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2371,"author":{"gitId":"sopa301"},"content":" \"node_modules/array-includes\": {","isFullCredit":false},{"lineNumber":2372,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.7\",","isFullCredit":false},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2374,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2376,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":2377,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":2378,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":2379,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":2380,"author":{"gitId":"sopa301"},"content":" \"is-string\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2384,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2387,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2388,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2389,"author":{"gitId":"sopa301"},"content":" \"node_modules/array-union\": {","isFullCredit":false},{"lineNumber":2390,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2391,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2392,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2394,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2395,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2396,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2397,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.filter\": {","isFullCredit":false},{"lineNumber":2398,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2400,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2402,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":2403,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":2404,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":2405,"author":{"gitId":"sopa301"},"content":" \"es-array-method-boxes-properly\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2406,"author":{"gitId":"sopa301"},"content":" \"is-string\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":2407,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2409,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2410,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2413,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2415,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.findlastindex\": {","isFullCredit":false},{"lineNumber":2416,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2418,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2420,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":2421,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":2422,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":2423,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2424,"author":{"gitId":"sopa301"},"content":" \"es-shim-unscopables\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":2425,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2426,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2427,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2428,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2429,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2430,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2431,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2432,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2433,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.flat\": {","isFullCredit":false},{"lineNumber":2434,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":2435,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2436,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2438,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":2439,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":2440,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":2441,"author":{"gitId":"sopa301"},"content":" \"es-shim-unscopables\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2442,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2444,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2445,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2446,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2447,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2448,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2450,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.flatmap\": {","isFullCredit":false},{"lineNumber":2451,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":2452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2453,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":2456,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":2457,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":2458,"author":{"gitId":"sopa301"},"content":" \"es-shim-unscopables\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2462,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2464,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2465,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2466,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2467,"author":{"gitId":"sopa301"},"content":" \"node_modules/arraybuffer.prototype.slice\": {","isFullCredit":false},{"lineNumber":2468,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2470,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2472,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":2473,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":2474,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":2475,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":2476,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":2477,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":2478,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":2479,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":2480,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2481,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2482,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2483,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2486,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2487,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2488,"author":{"gitId":"sopa301"},"content":" \"node_modules/asap\": {","isFullCredit":false},{"lineNumber":2489,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":2490,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2491,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2493,"author":{"gitId":"sopa301"},"content":" \"node_modules/assert-never\": {","isFullCredit":false},{"lineNumber":2494,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2496,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2497,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2498,"author":{"gitId":"sopa301"},"content":" \"node_modules/astral-regex\": {","isFullCredit":false},{"lineNumber":2499,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2500,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2501,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2503,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2504,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2505,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2506,"author":{"gitId":"sopa301"},"content":" \"node_modules/available-typed-arrays\": {","isFullCredit":false},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2509,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2511,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2512,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2515,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2518,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2519,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2520,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-runtime\": {","isFullCredit":false},{"lineNumber":2521,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.26.0\",","isFullCredit":false},{"lineNumber":2522,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2524,"author":{"gitId":"sopa301"},"content":" \"core-js\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":2525,"author":{"gitId":"sopa301"},"content":" \"regenerator-runtime\": \"^0.11.0\"","isFullCredit":false},{"lineNumber":2526,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2528,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-runtime/node_modules/core-js\": {","isFullCredit":false},{"lineNumber":2529,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.12\",","isFullCredit":false},{"lineNumber":2530,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":2531,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2532,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2533,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-runtime/node_modules/regenerator-runtime\": {","isFullCredit":false},{"lineNumber":2534,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.1\",","isFullCredit":false},{"lineNumber":2535,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2536,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2537,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-types\": {","isFullCredit":false},{"lineNumber":2538,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.26.0\",","isFullCredit":false},{"lineNumber":2539,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2541,"author":{"gitId":"sopa301"},"content":" \"babel-runtime\": \"^6.26.0\",","isFullCredit":false},{"lineNumber":2542,"author":{"gitId":"sopa301"},"content":" \"esutils\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2543,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.4\",","isFullCredit":false},{"lineNumber":2544,"author":{"gitId":"sopa301"},"content":" \"to-fast-properties\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":2545,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2546,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2547,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-types/node_modules/to-fast-properties\": {","isFullCredit":false},{"lineNumber":2548,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2549,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2551,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":2552,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2554,"author":{"gitId":"sopa301"},"content":" \"node_modules/babel-walk\": {","isFullCredit":false},{"lineNumber":2555,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0-canary-5\",","isFullCredit":false},{"lineNumber":2556,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2557,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2559,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.9.6\"","isFullCredit":false},{"lineNumber":2560,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2562,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":2563,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2564,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2565,"author":{"gitId":"sopa301"},"content":" \"node_modules/babylon\": {","isFullCredit":false},{"lineNumber":2566,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.18.0\",","isFullCredit":false},{"lineNumber":2567,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2569,"author":{"gitId":"sopa301"},"content":" \"babylon\": \"bin/babylon.js\"","isFullCredit":false},{"lineNumber":2570,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2571,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2572,"author":{"gitId":"sopa301"},"content":" \"node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":2573,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2574,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2575,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2576,"author":{"gitId":"sopa301"},"content":" \"node_modules/binary-extensions\": {","isFullCredit":false},{"lineNumber":2577,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2578,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2579,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2580,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2582,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2584,"author":{"gitId":"sopa301"},"content":" \"node_modules/boolbase\": {","isFullCredit":false},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2586,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":2587,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2588,"author":{"gitId":"sopa301"},"content":" \"node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":2589,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2590,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2592,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2593,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2594,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2595,"author":{"gitId":"sopa301"},"content":" \"node_modules/braces\": {","isFullCredit":false},{"lineNumber":2596,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":2597,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2598,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2599,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2600,"author":{"gitId":"sopa301"},"content":" \"fill-range\": \"^7.0.1\"","isFullCredit":false},{"lineNumber":2601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2603,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2604,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2605,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2606,"author":{"gitId":"sopa301"},"content":" \"node_modules/browserslist\": {","isFullCredit":false},{"lineNumber":2607,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.21.4\",","isFullCredit":false},{"lineNumber":2608,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2609,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":2610,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":2611,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2612,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":2613,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2614,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":2615,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":2616,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"","isFullCredit":false},{"lineNumber":2617,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2618,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":2619,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2620,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2622,"author":{"gitId":"sopa301"},"content":" \"caniuse-lite\": \"^1.0.30001400\",","isFullCredit":false},{"lineNumber":2623,"author":{"gitId":"sopa301"},"content":" \"electron-to-chromium\": \"^1.4.251\",","isFullCredit":false},{"lineNumber":2624,"author":{"gitId":"sopa301"},"content":" \"node-releases\": \"^2.0.6\",","isFullCredit":false},{"lineNumber":2625,"author":{"gitId":"sopa301"},"content":" \"update-browserslist-db\": \"^1.0.9\"","isFullCredit":false},{"lineNumber":2626,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2627,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2628,"author":{"gitId":"sopa301"},"content":" \"browserslist\": \"cli.js\"","isFullCredit":false},{"lineNumber":2629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2630,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2631,"author":{"gitId":"sopa301"},"content":" \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || \u003e\u003d13.7\"","isFullCredit":false},{"lineNumber":2632,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2633,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2634,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer-from\": {","isFullCredit":false},{"lineNumber":2635,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":2636,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2637,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2638,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2639,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2640,"author":{"gitId":"sopa301"},"content":" \"node_modules/call-bind\": {","isFullCredit":false},{"lineNumber":2641,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":2642,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2644,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2645,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2646,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":2647,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":2648,"author":{"gitId":"sopa301"},"content":" \"set-function-length\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":2649,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2650,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2651,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2652,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2654,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2655,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2657,"author":{"gitId":"sopa301"},"content":" \"node_modules/callsites\": {","isFullCredit":false},{"lineNumber":2658,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2659,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2660,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2662,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":2663,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2665,"author":{"gitId":"sopa301"},"content":" \"node_modules/caniuse-lite\": {","isFullCredit":false},{"lineNumber":2666,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.30001446\",","isFullCredit":false},{"lineNumber":2667,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2668,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":2669,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":2670,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2671,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":2672,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2673,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":2674,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":2675,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"","isFullCredit":false},{"lineNumber":2676,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2677,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":2678,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC-BY-4.0\",","isFullCredit":false},{"lineNumber":2679,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":2680,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2681,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk\": {","isFullCredit":false},{"lineNumber":2682,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.2\",","isFullCredit":false},{"lineNumber":2683,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2684,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2686,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":2687,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":2688,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^5.3.0\"","isFullCredit":false},{"lineNumber":2689,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2690,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2691,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":2692,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2693,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2694,"author":{"gitId":"sopa301"},"content":" \"node_modules/character-parser\": {","isFullCredit":false},{"lineNumber":2695,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2697,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2698,"author":{"gitId":"sopa301"},"content":" \"is-regex\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":2699,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2700,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2701,"author":{"gitId":"sopa301"},"content":" \"node_modules/cheerio\": {","isFullCredit":false},{"lineNumber":2702,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0-rc.12\",","isFullCredit":false},{"lineNumber":2703,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2704,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2705,"author":{"gitId":"sopa301"},"content":" \"cheerio-select\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":2706,"author":{"gitId":"sopa301"},"content":" \"dom-serializer\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2707,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.3\",","isFullCredit":false},{"lineNumber":2708,"author":{"gitId":"sopa301"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":2709,"author":{"gitId":"sopa301"},"content":" \"htmlparser2\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":2710,"author":{"gitId":"sopa301"},"content":" \"parse5\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":2711,"author":{"gitId":"sopa301"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":2712,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2714,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":2715,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2716,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2717,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/cheeriojs/cheerio?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2718,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2719,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2720,"author":{"gitId":"sopa301"},"content":" \"node_modules/cheerio-select\": {","isFullCredit":false},{"lineNumber":2721,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2722,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2724,"author":{"gitId":"sopa301"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2725,"author":{"gitId":"sopa301"},"content":" \"css-select\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":2726,"author":{"gitId":"sopa301"},"content":" \"css-what\": \"^6.1.0\",","isFullCredit":false},{"lineNumber":2727,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":2728,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.3\",","isFullCredit":false},{"lineNumber":2729,"author":{"gitId":"sopa301"},"content":" \"domutils\": \"^3.0.1\"","isFullCredit":false},{"lineNumber":2730,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2731,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2732,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":2733,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":2734,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2735,"author":{"gitId":"sopa301"},"content":" \"node_modules/cheerio/node_modules/parse5\": {","isFullCredit":false},{"lineNumber":2736,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.1.2\",","isFullCredit":false},{"lineNumber":2737,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2738,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2739,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.4.0\"","isFullCredit":false},{"lineNumber":2740,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2741,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2742,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2743,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2745,"author":{"gitId":"sopa301"},"content":" \"node_modules/cheerio/node_modules/parse5-htmlparser2-tree-adapter\": {","isFullCredit":false},{"lineNumber":2746,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":2747,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2748,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2749,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":2750,"author":{"gitId":"sopa301"},"content":" \"parse5\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":2751,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2752,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2753,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2754,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2755,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2756,"author":{"gitId":"sopa301"},"content":" \"node_modules/chokidar\": {","isFullCredit":false},{"lineNumber":2757,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.6.0\",","isFullCredit":false},{"lineNumber":2758,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",","isFullCredit":false},{"lineNumber":2759,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2760,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2762,"author":{"gitId":"sopa301"},"content":" \"anymatch\": \"~3.1.2\",","isFullCredit":false},{"lineNumber":2763,"author":{"gitId":"sopa301"},"content":" \"braces\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":2764,"author":{"gitId":"sopa301"},"content":" \"glob-parent\": \"~5.1.2\",","isFullCredit":false},{"lineNumber":2765,"author":{"gitId":"sopa301"},"content":" \"is-binary-path\": \"~2.1.0\",","isFullCredit":false},{"lineNumber":2766,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"~4.0.1\",","isFullCredit":false},{"lineNumber":2767,"author":{"gitId":"sopa301"},"content":" \"normalize-path\": \"~3.0.0\",","isFullCredit":false},{"lineNumber":2768,"author":{"gitId":"sopa301"},"content":" \"readdirp\": \"~3.6.0\"","isFullCredit":false},{"lineNumber":2769,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2771,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8.10.0\"","isFullCredit":false},{"lineNumber":2772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2774,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://paulmillr.com/funding/\"","isFullCredit":false},{"lineNumber":2775,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2776,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":2777,"author":{"gitId":"sopa301"},"content":" \"fsevents\": \"~2.3.2\"","isFullCredit":false},{"lineNumber":2778,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2780,"author":{"gitId":"sopa301"},"content":" \"node_modules/chokidar/node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":2781,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":2782,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":2783,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2785,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":2786,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2787,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2788,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":2789,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2791,"author":{"gitId":"sopa301"},"content":" \"node_modules/chrome-trace-event\": {","isFullCredit":false},{"lineNumber":2792,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2795,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":2796,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2797,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":2798,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2799,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2800,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":2801,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.9.3\",","isFullCredit":false},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2803,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2805,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"1.1.3\"","isFullCredit":false},{"lineNumber":2806,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2807,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2808,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-name\": {","isFullCredit":false},{"lineNumber":2809,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.3\",","isFullCredit":false},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2813,"author":{"gitId":"sopa301"},"content":" \"node_modules/colord\": {","isFullCredit":false},{"lineNumber":2814,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.9.3\",","isFullCredit":false},{"lineNumber":2815,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2816,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2817,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2818,"author":{"gitId":"sopa301"},"content":" \"node_modules/concat-map\": {","isFullCredit":false},{"lineNumber":2819,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":2820,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2822,"author":{"gitId":"sopa301"},"content":" \"node_modules/confusing-browser-globals\": {","isFullCredit":false},{"lineNumber":2823,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.11\",","isFullCredit":false},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2825,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2826,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2827,"author":{"gitId":"sopa301"},"content":" \"node_modules/constantinople\": {","isFullCredit":false},{"lineNumber":2828,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2830,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2832,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":2833,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.6.1\"","isFullCredit":false},{"lineNumber":2834,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2836,"author":{"gitId":"sopa301"},"content":" \"node_modules/core-util-is\": {","isFullCredit":false},{"lineNumber":2837,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2838,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2839,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2840,"author":{"gitId":"sopa301"},"content":" \"node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":2841,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2845,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2846,"author":{"gitId":"sopa301"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2847,"author":{"gitId":"sopa301"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2848,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2849,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2850,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":2851,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2853,"author":{"gitId":"sopa301"},"content":" \"node_modules/css-functions-list\": {","isFullCredit":false},{"lineNumber":2854,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":2855,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":2856,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2859,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12 || \u003e\u003d16\"","isFullCredit":false},{"lineNumber":2860,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2861,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2862,"author":{"gitId":"sopa301"},"content":" \"node_modules/css-select\": {","isFullCredit":false},{"lineNumber":2863,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":2864,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2866,"author":{"gitId":"sopa301"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2867,"author":{"gitId":"sopa301"},"content":" \"css-what\": \"^6.1.0\",","isFullCredit":false},{"lineNumber":2868,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":2869,"author":{"gitId":"sopa301"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":2870,"author":{"gitId":"sopa301"},"content":" \"nth-check\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2872,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2873,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":2874,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2876,"author":{"gitId":"sopa301"},"content":" \"node_modules/css-selector-parser\": {","isFullCredit":false},{"lineNumber":2877,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":2878,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2879,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2880,"author":{"gitId":"sopa301"},"content":" \"node_modules/css-what\": {","isFullCredit":false},{"lineNumber":2881,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":2882,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2884,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":2885,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2886,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2887,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":2888,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2889,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2890,"author":{"gitId":"sopa301"},"content":" \"node_modules/cssesc\": {","isFullCredit":false},{"lineNumber":2891,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2895,"author":{"gitId":"sopa301"},"content":" \"cssesc\": \"bin/cssesc\"","isFullCredit":false},{"lineNumber":2896,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2898,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":2899,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2900,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2901,"author":{"gitId":"sopa301"},"content":" \"node_modules/csstype\": {","isFullCredit":false},{"lineNumber":2902,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":2903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2904,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2905,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {","isFullCredit":false},{"lineNumber":2906,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2909,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2910,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":2911,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2912,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2913,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":2914,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2915,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2916,"author":{"gitId":"sopa301"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2918,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2919,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2920,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2921,"author":{"gitId":"sopa301"},"content":" \"node_modules/deep-is\": {","isFullCredit":false},{"lineNumber":2922,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2924,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2925,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2926,"author":{"gitId":"sopa301"},"content":" \"node_modules/define-data-property\": {","isFullCredit":false},{"lineNumber":2927,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":2928,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2930,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2931,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2932,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":2933,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2935,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2937,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2938,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2939,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2940,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2941,"author":{"gitId":"sopa301"},"content":" \"node_modules/define-properties\": {","isFullCredit":false},{"lineNumber":2942,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2944,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2946,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":2947,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2948,"author":{"gitId":"sopa301"},"content":" \"object-keys\": \"^1.1.1\"","isFullCredit":false},{"lineNumber":2949,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2951,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":2952,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2953,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2954,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":2955,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2956,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2957,"author":{"gitId":"sopa301"},"content":" \"node_modules/dir-glob\": {","isFullCredit":false},{"lineNumber":2958,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2959,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2960,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2961,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2962,"author":{"gitId":"sopa301"},"content":" \"path-type\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2963,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2965,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2966,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2967,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2968,"author":{"gitId":"sopa301"},"content":" \"node_modules/doctrine\": {","isFullCredit":false},{"lineNumber":2969,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":2970,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2971,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2973,"author":{"gitId":"sopa301"},"content":" \"esutils\": \"^2.0.2\"","isFullCredit":false},{"lineNumber":2974,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2976,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":2977,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2978,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2979,"author":{"gitId":"sopa301"},"content":" \"node_modules/doctypes\": {","isFullCredit":false},{"lineNumber":2980,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2982,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2983,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":2984,"author":{"gitId":"sopa301"},"content":" \"node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":2985,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2986,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2988,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":2989,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":2990,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2992,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2993,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2994,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2996,"author":{"gitId":"sopa301"},"content":" \"node_modules/domelementtype\": {","isFullCredit":false},{"lineNumber":2997,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":2998,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":2999,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":3000,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":3001,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":3002,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":3003,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":3004,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\"","isFullCredit":false},{"lineNumber":3005,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3006,"author":{"gitId":"sopa301"},"content":" \"node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":3007,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.3\",","isFullCredit":false},{"lineNumber":3008,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3010,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.3.0\"","isFullCredit":false},{"lineNumber":3011,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3012,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3013,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":3014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3016,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3017,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3019,"author":{"gitId":"sopa301"},"content":" \"node_modules/domutils\": {","isFullCredit":false},{"lineNumber":3020,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":3021,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3023,"author":{"gitId":"sopa301"},"content":" \"dom-serializer\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3024,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":3025,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3026,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3027,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3028,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3029,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3030,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3031,"author":{"gitId":"sopa301"},"content":" \"node_modules/electron-to-chromium\": {","isFullCredit":false},{"lineNumber":3032,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.284\",","isFullCredit":false},{"lineNumber":3033,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3034,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3035,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":3036,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3037,"author":{"gitId":"sopa301"},"content":" \"node_modules/emoji-regex\": {","isFullCredit":false},{"lineNumber":3038,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3040,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3041,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3042,"author":{"gitId":"sopa301"},"content":" \"node_modules/enhanced-resolve\": {","isFullCredit":false},{"lineNumber":3043,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.12.0\",","isFullCredit":false},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3045,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3046,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3048,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.4\",","isFullCredit":false},{"lineNumber":3049,"author":{"gitId":"sopa301"},"content":" \"tapable\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":3050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3051,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3052,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":3053,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3054,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3055,"author":{"gitId":"sopa301"},"content":" \"node_modules/enhanced-resolve/node_modules/tapable\": {","isFullCredit":false},{"lineNumber":3056,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":3057,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3058,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3059,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3060,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3061,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":3062,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3063,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3064,"author":{"gitId":"sopa301"},"content":" \"node_modules/entities\": {","isFullCredit":false},{"lineNumber":3065,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.5.0\",","isFullCredit":false},{"lineNumber":3066,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3068,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.12\"","isFullCredit":false},{"lineNumber":3069,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3071,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3072,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3073,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3074,"author":{"gitId":"sopa301"},"content":" \"node_modules/env-paths\": {","isFullCredit":false},{"lineNumber":3075,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":3076,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz\",","isFullCredit":false},{"lineNumber":3077,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3078,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3080,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":3081,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3082,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3083,"author":{"gitId":"sopa301"},"content":" \"node_modules/error-ex\": {","isFullCredit":false},{"lineNumber":3084,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3086,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3088,"author":{"gitId":"sopa301"},"content":" \"is-arrayish\": \"^0.2.1\"","isFullCredit":false},{"lineNumber":3089,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3091,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-abstract\": {","isFullCredit":false},{"lineNumber":3092,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.5\",","isFullCredit":false},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3094,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3096,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3097,"author":{"gitId":"sopa301"},"content":" \"arraybuffer.prototype.slice\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3098,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3099,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3100,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3101,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":3102,"author":{"gitId":"sopa301"},"content":" \"es-set-tostringtag\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":3103,"author":{"gitId":"sopa301"},"content":" \"es-to-primitive\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":3104,"author":{"gitId":"sopa301"},"content":" \"function.prototype.name\": \"^1.1.6\",","isFullCredit":false},{"lineNumber":3105,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":3106,"author":{"gitId":"sopa301"},"content":" \"get-symbol-description\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3107,"author":{"gitId":"sopa301"},"content":" \"globalthis\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3108,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3109,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3110,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3111,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3112,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":3113,"author":{"gitId":"sopa301"},"content":" \"internal-slot\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3114,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":3115,"author":{"gitId":"sopa301"},"content":" \"is-callable\": \"^1.2.7\",","isFullCredit":false},{"lineNumber":3116,"author":{"gitId":"sopa301"},"content":" \"is-negative-zero\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":3117,"author":{"gitId":"sopa301"},"content":" \"is-regex\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":3118,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3119,"author":{"gitId":"sopa301"},"content":" \"is-string\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3120,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\",","isFullCredit":false},{"lineNumber":3121,"author":{"gitId":"sopa301"},"content":" \"is-weakref\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3122,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.13.1\",","isFullCredit":false},{"lineNumber":3123,"author":{"gitId":"sopa301"},"content":" \"object-keys\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":3124,"author":{"gitId":"sopa301"},"content":" \"object.assign\": \"^4.1.5\",","isFullCredit":false},{"lineNumber":3125,"author":{"gitId":"sopa301"},"content":" \"regexp.prototype.flags\": \"^1.5.2\",","isFullCredit":false},{"lineNumber":3126,"author":{"gitId":"sopa301"},"content":" \"safe-array-concat\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":3127,"author":{"gitId":"sopa301"},"content":" \"safe-regex-test\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3128,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trim\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":3129,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimend\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3130,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimstart\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":3131,"author":{"gitId":"sopa301"},"content":" \"typed-array-buffer\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3132,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3133,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-offset\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3134,"author":{"gitId":"sopa301"},"content":" \"typed-array-length\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":3135,"author":{"gitId":"sopa301"},"content":" \"unbox-primitive\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3136,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\"","isFullCredit":false},{"lineNumber":3137,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3139,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3140,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3142,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3143,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3144,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3145,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-array-method-boxes-properly\": {","isFullCredit":false},{"lineNumber":3146,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3148,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3149,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3150,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-define-property\": {","isFullCredit":false},{"lineNumber":3151,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3152,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3154,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\"","isFullCredit":false},{"lineNumber":3155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3157,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3158,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3160,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-errors\": {","isFullCredit":false},{"lineNumber":3161,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":3162,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3164,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3167,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-module-lexer\": {","isFullCredit":false},{"lineNumber":3168,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.9.3\",","isFullCredit":false},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3170,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3171,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":3172,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3173,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-set-tostringtag\": {","isFullCredit":false},{"lineNumber":3174,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":3175,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3176,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3178,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":3179,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3180,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":3181,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3182,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3183,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3186,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-shim-unscopables\": {","isFullCredit":false},{"lineNumber":3187,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3189,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3190,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3191,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3194,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-to-primitive\": {","isFullCredit":false},{"lineNumber":3195,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3197,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3199,"author":{"gitId":"sopa301"},"content":" \"is-callable\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":3200,"author":{"gitId":"sopa301"},"content":" \"is-date-object\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3201,"author":{"gitId":"sopa301"},"content":" \"is-symbol\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":3202,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3204,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3205,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3206,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3207,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3208,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3209,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3210,"author":{"gitId":"sopa301"},"content":" \"node_modules/esbuild\": {","isFullCredit":false},{"lineNumber":3211,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3212,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":3213,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3214,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":3215,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3216,"author":{"gitId":"sopa301"},"content":" \"esbuild\": \"bin/esbuild\"","isFullCredit":false},{"lineNumber":3217,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3219,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":3220,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3221,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":3222,"author":{"gitId":"sopa301"},"content":" \"@esbuild/aix-ppc64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3223,"author":{"gitId":"sopa301"},"content":" \"@esbuild/android-arm\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3224,"author":{"gitId":"sopa301"},"content":" \"@esbuild/android-arm64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3225,"author":{"gitId":"sopa301"},"content":" \"@esbuild/android-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3226,"author":{"gitId":"sopa301"},"content":" \"@esbuild/darwin-arm64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3227,"author":{"gitId":"sopa301"},"content":" \"@esbuild/darwin-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3228,"author":{"gitId":"sopa301"},"content":" \"@esbuild/freebsd-arm64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3229,"author":{"gitId":"sopa301"},"content":" \"@esbuild/freebsd-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3230,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-arm\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3231,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-arm64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3232,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-ia32\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3233,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-loong64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3234,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-mips64el\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3235,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-ppc64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3236,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-riscv64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3237,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-s390x\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3238,"author":{"gitId":"sopa301"},"content":" \"@esbuild/linux-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3239,"author":{"gitId":"sopa301"},"content":" \"@esbuild/netbsd-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3240,"author":{"gitId":"sopa301"},"content":" \"@esbuild/openbsd-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3241,"author":{"gitId":"sopa301"},"content":" \"@esbuild/sunos-x64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3242,"author":{"gitId":"sopa301"},"content":" \"@esbuild/win32-arm64\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3243,"author":{"gitId":"sopa301"},"content":" \"@esbuild/win32-ia32\": \"0.20.2\",","isFullCredit":false},{"lineNumber":3244,"author":{"gitId":"sopa301"},"content":" \"@esbuild/win32-x64\": \"0.20.2\"","isFullCredit":false},{"lineNumber":3245,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3246,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3247,"author":{"gitId":"sopa301"},"content":" \"node_modules/escalade\": {","isFullCredit":false},{"lineNumber":3248,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3250,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3251,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3253,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":3254,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3255,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3256,"author":{"gitId":"sopa301"},"content":" \"node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":3257,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3261,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":3262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3263,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3264,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint\": {","isFullCredit":false},{"lineNumber":3265,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\",","isFullCredit":false},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3267,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3269,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":3270,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.6.1\",","isFullCredit":false},{"lineNumber":3271,"author":{"gitId":"sopa301"},"content":" \"@eslint/eslintrc\": \"^2.1.4\",","isFullCredit":false},{"lineNumber":3272,"author":{"gitId":"sopa301"},"content":" \"@eslint/js\": \"8.57.0\",","isFullCredit":false},{"lineNumber":3273,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/config-array\": \"^0.11.14\",","isFullCredit":false},{"lineNumber":3274,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/module-importer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3275,"author":{"gitId":"sopa301"},"content":" \"@nodelib/fs.walk\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":3276,"author":{"gitId":"sopa301"},"content":" \"@ungap/structured-clone\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":3277,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.12.4\",","isFullCredit":false},{"lineNumber":3278,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3279,"author":{"gitId":"sopa301"},"content":" \"cross-spawn\": \"^7.0.2\",","isFullCredit":false},{"lineNumber":3280,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.2\",","isFullCredit":false},{"lineNumber":3281,"author":{"gitId":"sopa301"},"content":" \"doctrine\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3282,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3283,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^7.2.2\",","isFullCredit":false},{"lineNumber":3284,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.3\",","isFullCredit":false},{"lineNumber":3285,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.1\",","isFullCredit":false},{"lineNumber":3286,"author":{"gitId":"sopa301"},"content":" \"esquery\": \"^1.4.2\",","isFullCredit":false},{"lineNumber":3287,"author":{"gitId":"sopa301"},"content":" \"esutils\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3288,"author":{"gitId":"sopa301"},"content":" \"fast-deep-equal\": \"^3.1.3\",","isFullCredit":false},{"lineNumber":3289,"author":{"gitId":"sopa301"},"content":" \"file-entry-cache\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":3290,"author":{"gitId":"sopa301"},"content":" \"find-up\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":3291,"author":{"gitId":"sopa301"},"content":" \"glob-parent\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":3292,"author":{"gitId":"sopa301"},"content":" \"globals\": \"^13.19.0\",","isFullCredit":false},{"lineNumber":3293,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3294,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":3295,"author":{"gitId":"sopa301"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":3296,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3297,"author":{"gitId":"sopa301"},"content":" \"is-path-inside\": \"^3.0.3\",","isFullCredit":false},{"lineNumber":3298,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3299,"author":{"gitId":"sopa301"},"content":" \"json-stable-stringify-without-jsonify\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3300,"author":{"gitId":"sopa301"},"content":" \"levn\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":3301,"author":{"gitId":"sopa301"},"content":" \"lodash.merge\": \"^4.6.2\",","isFullCredit":false},{"lineNumber":3302,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":3303,"author":{"gitId":"sopa301"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3304,"author":{"gitId":"sopa301"},"content":" \"optionator\": \"^0.9.3\",","isFullCredit":false},{"lineNumber":3305,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":3306,"author":{"gitId":"sopa301"},"content":" \"text-table\": \"^0.2.0\"","isFullCredit":false},{"lineNumber":3307,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3308,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3309,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"bin/eslint.js\"","isFullCredit":false},{"lineNumber":3310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3312,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3313,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3314,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3315,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3318,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-config-airbnb-base\": {","isFullCredit":false},{"lineNumber":3319,"author":{"gitId":"sopa301"},"content":" \"version\": \"15.0.0\",","isFullCredit":false},{"lineNumber":3320,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3322,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3323,"author":{"gitId":"sopa301"},"content":" \"confusing-browser-globals\": \"^1.0.10\",","isFullCredit":false},{"lineNumber":3324,"author":{"gitId":"sopa301"},"content":" \"object.assign\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":3325,"author":{"gitId":"sopa301"},"content":" \"object.entries\": \"^1.1.5\",","isFullCredit":false},{"lineNumber":3326,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":3327,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3328,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3329,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":3330,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3331,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3332,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\",","isFullCredit":false},{"lineNumber":3333,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.25.2\"","isFullCredit":false},{"lineNumber":3334,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3335,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3336,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-config-airbnb-typescript\": {","isFullCredit":false},{"lineNumber":3337,"author":{"gitId":"sopa301"},"content":" \"version\": \"18.0.0\",","isFullCredit":false},{"lineNumber":3338,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-18.0.0.tgz\",","isFullCredit":false},{"lineNumber":3339,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3340,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3342,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\"","isFullCredit":false},{"lineNumber":3343,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3344,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3345,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3346,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3347,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3350,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-import-resolver-node\": {","isFullCredit":false},{"lineNumber":3351,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.9\",","isFullCredit":false},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3353,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3355,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":3356,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\",","isFullCredit":false},{"lineNumber":3357,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"^1.22.4\"","isFullCredit":false},{"lineNumber":3358,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3359,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3360,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-import-resolver-node/node_modules/debug\": {","isFullCredit":false},{"lineNumber":3361,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":3362,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3364,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3365,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":3366,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3367,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3368,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-module-utils\": {","isFullCredit":false},{"lineNumber":3369,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.8.1\",","isFullCredit":false},{"lineNumber":3370,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3373,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.2.7\"","isFullCredit":false},{"lineNumber":3374,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3376,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":3377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3378,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3379,"author":{"gitId":"sopa301"},"content":" \"eslint\": {","isFullCredit":false},{"lineNumber":3380,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3381,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":3382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3383,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3384,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-module-utils/node_modules/debug\": {","isFullCredit":false},{"lineNumber":3385,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":3386,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3387,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3388,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3389,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":3390,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3391,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3392,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-import\": {","isFullCredit":false},{"lineNumber":3393,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.29.1\",","isFullCredit":false},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3395,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3397,"author":{"gitId":"sopa301"},"content":" \"array-includes\": \"^3.1.7\",","isFullCredit":false},{"lineNumber":3398,"author":{"gitId":"sopa301"},"content":" \"array.prototype.findlastindex\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":3399,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flat\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":3400,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flatmap\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":3401,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":3402,"author":{"gitId":"sopa301"},"content":" \"doctrine\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":3403,"author":{"gitId":"sopa301"},"content":" \"eslint-import-resolver-node\": \"^0.3.9\",","isFullCredit":false},{"lineNumber":3404,"author":{"gitId":"sopa301"},"content":" \"eslint-module-utils\": \"^2.8.0\",","isFullCredit":false},{"lineNumber":3405,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3406,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.1\",","isFullCredit":false},{"lineNumber":3407,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":3408,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":3409,"author":{"gitId":"sopa301"},"content":" \"object.fromentries\": \"^2.0.7\",","isFullCredit":false},{"lineNumber":3410,"author":{"gitId":"sopa301"},"content":" \"object.groupby\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3411,"author":{"gitId":"sopa301"},"content":" \"object.values\": \"^1.1.7\",","isFullCredit":false},{"lineNumber":3412,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.1\",","isFullCredit":false},{"lineNumber":3413,"author":{"gitId":"sopa301"},"content":" \"tsconfig-paths\": \"^3.15.0\"","isFullCredit":false},{"lineNumber":3414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3415,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3416,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":3417,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3418,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3419,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\"","isFullCredit":false},{"lineNumber":3420,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3422,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-import/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":3423,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":3424,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3425,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3427,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3428,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":3429,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3431,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-import/node_modules/debug\": {","isFullCredit":false},{"lineNumber":3432,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3435,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3436,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":3437,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3438,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3439,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-import/node_modules/doctrine\": {","isFullCredit":false},{"lineNumber":3440,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":3441,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3442,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3444,"author":{"gitId":"sopa301"},"content":" \"esutils\": \"^2.0.2\"","isFullCredit":false},{"lineNumber":3445,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3446,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3447,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":3448,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3450,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-import/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":3451,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":3452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3453,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3455,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":3456,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3457,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3458,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":3459,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3460,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3461,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-vue\": {","isFullCredit":false},{"lineNumber":3462,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.25.0\",","isFullCredit":false},{"lineNumber":3463,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz\",","isFullCredit":false},{"lineNumber":3464,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3465,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3466,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3467,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":3468,"author":{"gitId":"sopa301"},"content":" \"globals\": \"^13.24.0\",","isFullCredit":false},{"lineNumber":3469,"author":{"gitId":"sopa301"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3470,"author":{"gitId":"sopa301"},"content":" \"nth-check\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":3471,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":3472,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":3473,"author":{"gitId":"sopa301"},"content":" \"vue-eslint-parser\": \"^9.4.2\",","isFullCredit":false},{"lineNumber":3474,"author":{"gitId":"sopa301"},"content":" \"xml-name-validator\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3476,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3477,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3479,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3480,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0\"","isFullCredit":false},{"lineNumber":3481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3482,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3483,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-vue/node_modules/globals\": {","isFullCredit":false},{"lineNumber":3484,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.24.0\",","isFullCredit":false},{"lineNumber":3485,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",","isFullCredit":false},{"lineNumber":3486,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3487,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3488,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3489,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":3490,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3491,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3492,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3493,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3494,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3495,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":3496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3497,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3498,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-vue/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":3499,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":3500,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":3501,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3502,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3503,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3504,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3505,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3506,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3507,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3508,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3509,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3510,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-vue/node_modules/semver\": {","isFullCredit":false},{"lineNumber":3511,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":3512,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":3513,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3514,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3515,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3516,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3517,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3518,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3519,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":3520,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3521,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3522,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3523,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3524,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3525,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-plugin-vue/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3526,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3527,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3528,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3529,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3531,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":3532,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":3533,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3534,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3535,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3536,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3537,"author":{"gitId":"sopa301"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":3538,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":3539,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3540,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3541,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":3542,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3543,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3544,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":3545,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":3546,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3547,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3548,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3549,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":3550,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3551,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3552,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3553,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3554,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3555,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3556,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3558,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":3559,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":3560,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3561,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3562,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3563,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3564,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":3565,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3566,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3567,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":3568,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":3569,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3570,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3571,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3572,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3573,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":3574,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3575,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3576,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3577,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3578,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3579,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3580,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3581,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3582,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":3583,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":3584,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3585,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3586,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3587,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":3588,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3589,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3590,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":3591,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3592,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3593,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":3594,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":3595,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3597,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3598,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":3599,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3600,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3601,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3602,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3603,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3605,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3606,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":3607,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3609,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":3610,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\",","isFullCredit":false},{"lineNumber":3611,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3612,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3613,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3614,"author":{"gitId":"sopa301"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":3615,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":3616,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3617,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3618,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3620,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3621,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3622,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3624,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":3625,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":3626,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3627,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":3628,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3629,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3630,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3631,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3632,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3633,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3634,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3635,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":3636,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":3637,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3638,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3639,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3640,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":3641,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3642,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3643,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/globals\": {","isFullCredit":false},{"lineNumber":3644,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.20.0\",","isFullCredit":false},{"lineNumber":3645,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3646,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3647,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3648,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":3649,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3650,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3651,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3652,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3653,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3654,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":3655,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3657,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":3658,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3659,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3660,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3661,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3662,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3663,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3665,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":3666,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":3667,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3668,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3669,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3670,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":3671,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3672,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3673,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":3674,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3675,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3676,"author":{"gitId":"sopa301"},"content":" \"node_modules/eslint/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":3677,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":3678,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3679,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3680,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3681,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3682,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3683,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3684,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3685,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3687,"author":{"gitId":"sopa301"},"content":" \"node_modules/espree\": {","isFullCredit":false},{"lineNumber":3688,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.6.1\",","isFullCredit":false},{"lineNumber":3689,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3690,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3691,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3692,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^8.9.0\",","isFullCredit":false},{"lineNumber":3693,"author":{"gitId":"sopa301"},"content":" \"acorn-jsx\": \"^5.3.2\",","isFullCredit":false},{"lineNumber":3694,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.1\"","isFullCredit":false},{"lineNumber":3695,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3696,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3697,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3699,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3700,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3701,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3702,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3703,"author":{"gitId":"sopa301"},"content":" \"node_modules/espree/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":3704,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":3705,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3706,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":3707,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3708,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3710,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3711,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3712,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3714,"author":{"gitId":"sopa301"},"content":" \"node_modules/esquery\": {","isFullCredit":false},{"lineNumber":3715,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":3716,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3717,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":3718,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3719,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":3720,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3721,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3722,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":3723,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3724,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3725,"author":{"gitId":"sopa301"},"content":" \"node_modules/esquery/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":3726,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":3727,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3728,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3729,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3730,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":3731,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3733,"author":{"gitId":"sopa301"},"content":" \"node_modules/esrecurse\": {","isFullCredit":false},{"lineNumber":3734,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":3735,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3736,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3737,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3738,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":3739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3740,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3741,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":3742,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3743,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3744,"author":{"gitId":"sopa301"},"content":" \"node_modules/esrecurse/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":3745,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":3746,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3747,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3748,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3749,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":3750,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3751,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3752,"author":{"gitId":"sopa301"},"content":" \"node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":3753,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":3754,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3755,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3756,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3757,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3758,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":3759,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3760,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3761,"author":{"gitId":"sopa301"},"content":" \"node_modules/estree-walker\": {","isFullCredit":false},{"lineNumber":3762,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":3763,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3765,"author":{"gitId":"sopa301"},"content":" \"node_modules/esutils\": {","isFullCredit":false},{"lineNumber":3766,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":3767,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":3768,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3769,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":3770,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3772,"author":{"gitId":"sopa301"},"content":" \"node_modules/events\": {","isFullCredit":false},{"lineNumber":3773,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":3774,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3776,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":3777,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3778,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.x\"","isFullCredit":false},{"lineNumber":3779,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3780,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3781,"author":{"gitId":"sopa301"},"content":" \"node_modules/fast-deep-equal\": {","isFullCredit":false},{"lineNumber":3782,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":3783,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3784,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3785,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3786,"author":{"gitId":"sopa301"},"content":" \"node_modules/fast-glob\": {","isFullCredit":false},{"lineNumber":3787,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.2\",","isFullCredit":false},{"lineNumber":3788,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",","isFullCredit":false},{"lineNumber":3789,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow\u003d\u003d\",","isFullCredit":false},{"lineNumber":3790,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3791,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3792,"author":{"gitId":"sopa301"},"content":" \"@nodelib/fs.stat\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3793,"author":{"gitId":"sopa301"},"content":" \"@nodelib/fs.walk\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":3794,"author":{"gitId":"sopa301"},"content":" \"glob-parent\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":3795,"author":{"gitId":"sopa301"},"content":" \"merge2\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":3796,"author":{"gitId":"sopa301"},"content":" \"micromatch\": \"^4.0.4\"","isFullCredit":false},{"lineNumber":3797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3798,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3799,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6.0\"","isFullCredit":false},{"lineNumber":3800,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3802,"author":{"gitId":"sopa301"},"content":" \"node_modules/fast-glob/node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":3803,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":3804,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3805,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3806,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3807,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":3808,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3809,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3810,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":3811,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3813,"author":{"gitId":"sopa301"},"content":" \"node_modules/fast-json-stable-stringify\": {","isFullCredit":false},{"lineNumber":3814,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":3815,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3816,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3817,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3818,"author":{"gitId":"sopa301"},"content":" \"node_modules/fast-levenshtein\": {","isFullCredit":false},{"lineNumber":3819,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":3820,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3821,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3822,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3823,"author":{"gitId":"sopa301"},"content":" \"node_modules/fastest-levenshtein\": {","isFullCredit":false},{"lineNumber":3824,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.16\",","isFullCredit":false},{"lineNumber":3825,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3826,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3827,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3828,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.9.1\"","isFullCredit":false},{"lineNumber":3829,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3830,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3831,"author":{"gitId":"sopa301"},"content":" \"node_modules/fastq\": {","isFullCredit":false},{"lineNumber":3832,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.15.0\",","isFullCredit":false},{"lineNumber":3833,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3834,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3835,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3836,"author":{"gitId":"sopa301"},"content":" \"reusify\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":3837,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3838,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3839,"author":{"gitId":"sopa301"},"content":" \"node_modules/file-entry-cache\": {","isFullCredit":false},{"lineNumber":3840,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":3841,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3842,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3843,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3844,"author":{"gitId":"sopa301"},"content":" \"flat-cache\": \"^3.0.4\"","isFullCredit":false},{"lineNumber":3845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3846,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3847,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":3848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3850,"author":{"gitId":"sopa301"},"content":" \"node_modules/fill-range\": {","isFullCredit":false},{"lineNumber":3851,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.1\",","isFullCredit":false},{"lineNumber":3852,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":3853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3854,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3855,"author":{"gitId":"sopa301"},"content":" \"to-regex-range\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3856,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3857,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3858,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3859,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3861,"author":{"gitId":"sopa301"},"content":" \"node_modules/find-line-column\": {","isFullCredit":false},{"lineNumber":3862,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.5.2\",","isFullCredit":false},{"lineNumber":3863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3864,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3865,"author":{"gitId":"sopa301"},"content":" \"node_modules/find-up\": {","isFullCredit":false},{"lineNumber":3866,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":3867,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3868,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3869,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3870,"author":{"gitId":"sopa301"},"content":" \"locate-path\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":3871,"author":{"gitId":"sopa301"},"content":" \"path-exists\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3872,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3873,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3874,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3876,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3877,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":3878,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3879,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3880,"author":{"gitId":"sopa301"},"content":" \"node_modules/flat-cache\": {","isFullCredit":false},{"lineNumber":3881,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":3882,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3883,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3884,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3885,"author":{"gitId":"sopa301"},"content":" \"flatted\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":3886,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":3887,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3888,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3889,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":3890,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3892,"author":{"gitId":"sopa301"},"content":" \"node_modules/flatted\": {","isFullCredit":false},{"lineNumber":3893,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.1\",","isFullCredit":false},{"lineNumber":3894,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",","isFullCredit":false},{"lineNumber":3895,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3896,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3897,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3898,"author":{"gitId":"sopa301"},"content":" \"node_modules/for-each\": {","isFullCredit":false},{"lineNumber":3899,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.3\",","isFullCredit":false},{"lineNumber":3900,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3901,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3902,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3903,"author":{"gitId":"sopa301"},"content":" \"is-callable\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":3904,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3905,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3906,"author":{"gitId":"sopa301"},"content":" \"node_modules/foreachasync\": {","isFullCredit":false},{"lineNumber":3907,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3908,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache2\"","isFullCredit":false},{"lineNumber":3909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3910,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs.realpath\": {","isFullCredit":false},{"lineNumber":3911,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3912,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3914,"author":{"gitId":"sopa301"},"content":" \"node_modules/fsevents\": {","isFullCredit":false},{"lineNumber":3915,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":3916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",","isFullCredit":false},{"lineNumber":3917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3918,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":3919,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":3920,"author":{"gitId":"sopa301"},"content":" \"os\": [","isFullCredit":false},{"lineNumber":3921,"author":{"gitId":"sopa301"},"content":" \"darwin\"","isFullCredit":false},{"lineNumber":3922,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":3923,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3924,"author":{"gitId":"sopa301"},"content":" \"node\": \"^8.16.0 || ^10.6.0 || \u003e\u003d11.0.0\"","isFullCredit":false},{"lineNumber":3925,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3926,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3927,"author":{"gitId":"sopa301"},"content":" \"node_modules/function-bind\": {","isFullCredit":false},{"lineNumber":3928,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":3929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3930,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3931,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3932,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3933,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3934,"author":{"gitId":"sopa301"},"content":" \"node_modules/function.prototype.name\": {","isFullCredit":false},{"lineNumber":3935,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\",","isFullCredit":false},{"lineNumber":3936,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3938,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3939,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3940,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":3941,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":3942,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\"","isFullCredit":false},{"lineNumber":3943,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3944,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3945,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3946,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":3947,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3948,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3949,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3951,"author":{"gitId":"sopa301"},"content":" \"node_modules/functions-have-names\": {","isFullCredit":false},{"lineNumber":3952,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.3\",","isFullCredit":false},{"lineNumber":3953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3954,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3955,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3956,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3957,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3958,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3959,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-intrinsic\": {","isFullCredit":false},{"lineNumber":3960,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":3961,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3962,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3963,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":3964,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":3965,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":3966,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3967,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3968,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3969,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3971,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3972,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3974,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3975,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3976,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-symbol-description\": {","isFullCredit":false},{"lineNumber":3977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3978,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3980,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3981,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":3982,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":3983,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\"","isFullCredit":false},{"lineNumber":3984,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3985,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3986,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":3987,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3988,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3989,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":3990,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3992,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob\": {","isFullCredit":false},{"lineNumber":3993,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":3994,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3995,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3996,"author":{"gitId":"sopa301"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3997,"author":{"gitId":"sopa301"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":3998,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":3999,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":4000,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":4001,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4002,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4003,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4004,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":4005,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4006,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4007,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":4008,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4009,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4010,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":4011,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.2\",","isFullCredit":false},{"lineNumber":4012,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4013,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4014,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4015,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.3\"","isFullCredit":false},{"lineNumber":4016,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4017,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4018,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":4019,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4020,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4021,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob-to-regexp\": {","isFullCredit":false},{"lineNumber":4022,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":4023,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4024,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":4025,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":4026,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4027,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":4028,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":4029,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4030,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4031,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4032,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":4033,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4034,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4035,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":4036,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":4037,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4038,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4039,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":4040,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4041,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4042,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":4043,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4045,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-modules\": {","isFullCredit":false},{"lineNumber":4046,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4048,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4049,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4050,"author":{"gitId":"sopa301"},"content":" \"global-prefix\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":4051,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4052,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4053,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":4054,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4056,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-prefix\": {","isFullCredit":false},{"lineNumber":4057,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":4058,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4059,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4060,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4061,"author":{"gitId":"sopa301"},"content":" \"ini\": \"^1.3.5\",","isFullCredit":false},{"lineNumber":4062,"author":{"gitId":"sopa301"},"content":" \"kind-of\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":4063,"author":{"gitId":"sopa301"},"content":" \"which\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":4064,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4065,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4066,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":4067,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4068,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4069,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-prefix/node_modules/which\": {","isFullCredit":false},{"lineNumber":4070,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.1\",","isFullCredit":false},{"lineNumber":4071,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4072,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4073,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4074,"author":{"gitId":"sopa301"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":4075,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4076,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4077,"author":{"gitId":"sopa301"},"content":" \"which\": \"bin/which\"","isFullCredit":false},{"lineNumber":4078,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4079,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4080,"author":{"gitId":"sopa301"},"content":" \"node_modules/globalthis\": {","isFullCredit":false},{"lineNumber":4081,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4082,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4083,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4084,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4085,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":4086,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4087,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4088,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4089,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4090,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4091,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4092,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4093,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4094,"author":{"gitId":"sopa301"},"content":" \"node_modules/globby\": {","isFullCredit":false},{"lineNumber":4095,"author":{"gitId":"sopa301"},"content":" \"version\": \"11.1.0\",","isFullCredit":false},{"lineNumber":4096,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4097,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4098,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4099,"author":{"gitId":"sopa301"},"content":" \"array-union\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":4100,"author":{"gitId":"sopa301"},"content":" \"dir-glob\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":4101,"author":{"gitId":"sopa301"},"content":" \"fast-glob\": \"^3.2.9\",","isFullCredit":false},{"lineNumber":4102,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":4103,"author":{"gitId":"sopa301"},"content":" \"merge2\": \"^1.4.1\",","isFullCredit":false},{"lineNumber":4104,"author":{"gitId":"sopa301"},"content":" \"slash\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":4105,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4106,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4107,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":4108,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4109,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4110,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4113,"author":{"gitId":"sopa301"},"content":" \"node_modules/globjoin\": {","isFullCredit":false},{"lineNumber":4114,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":4115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4117,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4118,"author":{"gitId":"sopa301"},"content":" \"node_modules/gopd\": {","isFullCredit":false},{"lineNumber":4119,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":4120,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4121,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4122,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":4123,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4124,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4125,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4128,"author":{"gitId":"sopa301"},"content":" \"node_modules/graceful-fs\": {","isFullCredit":false},{"lineNumber":4129,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.10\",","isFullCredit":false},{"lineNumber":4130,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4131,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":4132,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4133,"author":{"gitId":"sopa301"},"content":" \"node_modules/graphemer\": {","isFullCredit":false},{"lineNumber":4134,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":4135,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4136,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4137,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4138,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-bigints\": {","isFullCredit":false},{"lineNumber":4139,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4140,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4141,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4142,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4143,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4144,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4146,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":4147,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":4148,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4149,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4150,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4151,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":4152,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4153,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4154,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-property-descriptors\": {","isFullCredit":false},{"lineNumber":4155,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4156,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4157,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4158,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4159,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4160,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4161,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4162,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4163,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4164,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-proto\": {","isFullCredit":false},{"lineNumber":4165,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4166,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4167,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4168,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4169,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4170,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4171,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4172,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4173,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4174,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-symbols\": {","isFullCredit":false},{"lineNumber":4175,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4176,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4177,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4178,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4179,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4180,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4181,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4182,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4183,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4184,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-tostringtag\": {","isFullCredit":false},{"lineNumber":4185,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4186,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4187,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4188,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":4189,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4190,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4191,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4192,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4193,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4194,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4195,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4196,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4197,"author":{"gitId":"sopa301"},"content":" \"node_modules/hasown\": {","isFullCredit":false},{"lineNumber":4198,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":4199,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4200,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4201,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\"","isFullCredit":false},{"lineNumber":4202,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4203,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4204,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4205,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4207,"author":{"gitId":"sopa301"},"content":" \"node_modules/highlight.js\": {","isFullCredit":false},{"lineNumber":4208,"author":{"gitId":"sopa301"},"content":" \"version\": \"10.7.3\",","isFullCredit":false},{"lineNumber":4209,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":4210,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4211,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":4212,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4213,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4214,"author":{"gitId":"sopa301"},"content":" \"node_modules/html-tags\": {","isFullCredit":false},{"lineNumber":4215,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.1\",","isFullCredit":false},{"lineNumber":4216,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz\",","isFullCredit":false},{"lineNumber":4217,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4218,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4219,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4221,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4222,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4223,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4224,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4225,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4226,"author":{"gitId":"sopa301"},"content":" \"node_modules/htmlparser2\": {","isFullCredit":false},{"lineNumber":4227,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":4228,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4229,"author":{"gitId":"sopa301"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\",","isFullCredit":false},{"lineNumber":4230,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":4231,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4232,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":4233,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4234,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":4235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4236,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4237,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":4238,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":4239,"author":{"gitId":"sopa301"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":4240,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.3.0\"","isFullCredit":false},{"lineNumber":4241,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4242,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4243,"author":{"gitId":"sopa301"},"content":" \"node_modules/ignore\": {","isFullCredit":false},{"lineNumber":4244,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.1\",","isFullCredit":false},{"lineNumber":4245,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz\",","isFullCredit":false},{"lineNumber":4246,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw\u003d\u003d\",","isFullCredit":false},{"lineNumber":4247,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4248,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4249,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":4250,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4251,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4252,"author":{"gitId":"sopa301"},"content":" \"node_modules/immediate\": {","isFullCredit":false},{"lineNumber":4253,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.6\",","isFullCredit":false},{"lineNumber":4254,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4255,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4256,"author":{"gitId":"sopa301"},"content":" \"node_modules/immutable\": {","isFullCredit":false},{"lineNumber":4257,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.4\",","isFullCredit":false},{"lineNumber":4258,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":4259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4260,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4261,"author":{"gitId":"sopa301"},"content":" \"node_modules/import-fresh\": {","isFullCredit":false},{"lineNumber":4262,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":4263,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4264,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4265,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4266,"author":{"gitId":"sopa301"},"content":" \"parent-module\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4267,"author":{"gitId":"sopa301"},"content":" \"resolve-from\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":4268,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4269,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4270,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":4271,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4272,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4273,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4274,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4275,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4276,"author":{"gitId":"sopa301"},"content":" \"node_modules/imurmurhash\": {","isFullCredit":false},{"lineNumber":4277,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":4278,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4279,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4280,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4281,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.19\"","isFullCredit":false},{"lineNumber":4282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4284,"author":{"gitId":"sopa301"},"content":" \"node_modules/inflight\": {","isFullCredit":false},{"lineNumber":4285,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":4286,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4287,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4288,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":4289,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":4290,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4291,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4292,"author":{"gitId":"sopa301"},"content":" \"node_modules/inherits\": {","isFullCredit":false},{"lineNumber":4293,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":4294,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":4295,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4296,"author":{"gitId":"sopa301"},"content":" \"node_modules/ini\": {","isFullCredit":false},{"lineNumber":4297,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.8\",","isFullCredit":false},{"lineNumber":4298,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4299,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":4300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4301,"author":{"gitId":"sopa301"},"content":" \"node_modules/internal-slot\": {","isFullCredit":false},{"lineNumber":4302,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":4303,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4305,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4306,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":4307,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4308,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":4309,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4310,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4311,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4313,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4314,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-array-buffer\": {","isFullCredit":false},{"lineNumber":4315,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":4316,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4317,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4318,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4319,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4320,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":4321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4322,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4323,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4324,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4325,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4326,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4327,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4329,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-arrayish\": {","isFullCredit":false},{"lineNumber":4330,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":4331,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4333,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4334,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-bigint\": {","isFullCredit":false},{"lineNumber":4335,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":4336,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4337,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4338,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4339,"author":{"gitId":"sopa301"},"content":" \"has-bigints\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":4340,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4341,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4342,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4343,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4344,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4345,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-binary-path\": {","isFullCredit":false},{"lineNumber":4346,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":4347,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":4348,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4349,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4350,"author":{"gitId":"sopa301"},"content":" \"binary-extensions\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":4351,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4352,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4353,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4354,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4355,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4356,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-boolean-object\": {","isFullCredit":false},{"lineNumber":4357,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":4358,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4360,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4361,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4362,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4363,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4364,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4366,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4367,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4368,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4369,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4370,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4371,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-callable\": {","isFullCredit":false},{"lineNumber":4372,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.7\",","isFullCredit":false},{"lineNumber":4373,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4374,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4375,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4376,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4378,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4379,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4380,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4381,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4382,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-core-module\": {","isFullCredit":false},{"lineNumber":4383,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.13.1\",","isFullCredit":false},{"lineNumber":4384,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4385,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4386,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":4387,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4388,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4389,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4390,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4391,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4392,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-date-object\": {","isFullCredit":false},{"lineNumber":4393,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":4394,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4395,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4396,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4397,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4398,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4399,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4400,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4401,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4402,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4403,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4404,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4405,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4406,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-expression\": {","isFullCredit":false},{"lineNumber":4407,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":4408,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4409,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4410,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4411,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":4412,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":4413,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4415,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-expression/node_modules/acorn\": {","isFullCredit":false},{"lineNumber":4416,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.4.1\",","isFullCredit":false},{"lineNumber":4417,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4418,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4419,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4420,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":4421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4422,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4423,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":4424,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4426,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-extglob\": {","isFullCredit":false},{"lineNumber":4427,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":4428,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":4429,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4430,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4431,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4432,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4433,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4434,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":4435,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":4436,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4437,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4438,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4439,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4440,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4442,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-glob\": {","isFullCredit":false},{"lineNumber":4443,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.3\",","isFullCredit":false},{"lineNumber":4444,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":4445,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4446,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4447,"author":{"gitId":"sopa301"},"content":" \"is-extglob\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":4448,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4449,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4450,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4451,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4453,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-negative-zero\": {","isFullCredit":false},{"lineNumber":4454,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":4455,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4456,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4457,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4458,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4460,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4462,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4464,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-number\": {","isFullCredit":false},{"lineNumber":4465,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":4466,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":4467,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4468,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4469,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.12.0\"","isFullCredit":false},{"lineNumber":4470,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4471,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4472,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-number-object\": {","isFullCredit":false},{"lineNumber":4473,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":4474,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4475,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4476,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4477,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4479,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4480,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4481,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4482,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4483,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4485,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4486,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-path-inside\": {","isFullCredit":false},{"lineNumber":4487,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":4488,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4489,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4490,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4491,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4492,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4493,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4494,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-plain-object\": {","isFullCredit":false},{"lineNumber":4495,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":4496,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4497,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4498,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4499,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4500,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4501,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4502,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-promise\": {","isFullCredit":false},{"lineNumber":4503,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.2\",","isFullCredit":false},{"lineNumber":4504,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4505,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4507,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-regex\": {","isFullCredit":false},{"lineNumber":4508,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":4509,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4510,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4511,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4512,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4513,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4514,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4515,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4516,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4517,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4518,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4519,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4520,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4521,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-shared-array-buffer\": {","isFullCredit":false},{"lineNumber":4522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4523,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4524,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4525,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4526,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":4527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4528,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4529,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4531,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4532,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4535,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-string\": {","isFullCredit":false},{"lineNumber":4536,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":4537,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4538,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4539,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4540,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4541,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4542,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4543,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4545,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4546,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4547,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4548,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4549,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-symbol\": {","isFullCredit":false},{"lineNumber":4550,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":4551,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4552,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4553,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4554,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":4555,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4556,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4557,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4558,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4559,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4560,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4563,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-typed-array\": {","isFullCredit":false},{"lineNumber":4564,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.13\",","isFullCredit":false},{"lineNumber":4565,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4567,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4568,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\"","isFullCredit":false},{"lineNumber":4569,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4570,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4571,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4572,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4573,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4574,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4575,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4576,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4577,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-weakref\": {","isFullCredit":false},{"lineNumber":4578,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4579,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4580,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4581,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4582,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":4583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4584,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4585,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4586,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4587,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4588,"author":{"gitId":"sopa301"},"content":" \"node_modules/isarray\": {","isFullCredit":false},{"lineNumber":4589,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4590,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4591,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4592,"author":{"gitId":"sopa301"},"content":" \"node_modules/isexe\": {","isFullCredit":false},{"lineNumber":4593,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4594,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4595,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":4596,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4597,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util\": {","isFullCredit":false},{"lineNumber":4598,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.7.0\",","isFullCredit":false},{"lineNumber":4599,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz\",","isFullCredit":false},{"lineNumber":4600,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":4601,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4602,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4603,"author":{"gitId":"sopa301"},"content":" \"@jest/types\": \"^29.6.3\",","isFullCredit":false},{"lineNumber":4604,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":4605,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":4606,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":4607,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.9\",","isFullCredit":false},{"lineNumber":4608,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.2.3\"","isFullCredit":false},{"lineNumber":4609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4610,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4611,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":4612,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4613,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4614,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":4615,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":4616,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":4617,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":4618,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4619,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4620,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":4621,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4622,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4623,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4624,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4625,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4626,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4627,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4628,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4629,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":4630,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":4631,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":4632,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":4633,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4634,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4635,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":4636,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":4637,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4638,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4639,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":4640,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4641,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4642,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4643,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4644,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4645,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/ci-info\": {","isFullCredit":false},{"lineNumber":4646,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":4647,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":4648,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4649,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4650,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4651,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":4652,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4653,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\"","isFullCredit":false},{"lineNumber":4654,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4655,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":4656,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4657,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4658,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4659,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4660,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":4661,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":4662,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":4663,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4664,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4665,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4666,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":4667,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4668,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4669,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":4670,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4671,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4672,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":4673,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":4674,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":4675,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":4676,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":4677,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4678,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":4679,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":4680,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":4681,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4682,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4683,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4684,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4685,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4687,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":4688,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":4689,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":4690,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":4691,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4692,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4693,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":4694,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4695,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4696,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4697,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4699,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-worker\": {","isFullCredit":false},{"lineNumber":4700,"author":{"gitId":"sopa301"},"content":" \"version\": \"27.5.1\",","isFullCredit":false},{"lineNumber":4701,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4702,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4703,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4704,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4705,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":4706,"author":{"gitId":"sopa301"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4707,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":4708,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4709,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4710,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":4711,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4712,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4713,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-worker/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":4714,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":4715,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4716,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4717,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4718,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4719,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4720,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4721,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4722,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-worker/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":4723,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":4724,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4725,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4726,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4727,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4728,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":4729,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4730,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4731,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":4732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4733,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4734,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4735,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4736,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4737,"author":{"gitId":"sopa301"},"content":" \"node_modules/js-stringify\": {","isFullCredit":false},{"lineNumber":4738,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4739,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4740,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4741,"author":{"gitId":"sopa301"},"content":" \"node_modules/js-tokens\": {","isFullCredit":false},{"lineNumber":4742,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":4743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4744,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4745,"author":{"gitId":"sopa301"},"content":" \"node_modules/js-yaml\": {","isFullCredit":false},{"lineNumber":4746,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":4747,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4748,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4749,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4750,"author":{"gitId":"sopa301"},"content":" \"argparse\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":4751,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4752,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4753,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"bin/js-yaml.js\"","isFullCredit":false},{"lineNumber":4754,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4755,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4756,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-buffer\": {","isFullCredit":false},{"lineNumber":4757,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":4758,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":4759,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4760,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":4761,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4762,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-parse-even-better-errors\": {","isFullCredit":false},{"lineNumber":4763,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":4764,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4765,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4767,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":4768,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":4769,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4770,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4772,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-stable-stringify-without-jsonify\": {","isFullCredit":false},{"lineNumber":4773,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":4774,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4777,"author":{"gitId":"sopa301"},"content":" \"node_modules/jstransformer\": {","isFullCredit":false},{"lineNumber":4778,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4779,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4780,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4781,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4782,"author":{"gitId":"sopa301"},"content":" \"is-promise\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4783,"author":{"gitId":"sopa301"},"content":" \"promise\": \"^7.0.1\"","isFullCredit":false},{"lineNumber":4784,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4785,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4786,"author":{"gitId":"sopa301"},"content":" \"node_modules/jszip\": {","isFullCredit":false},{"lineNumber":4787,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.10.1\",","isFullCredit":false},{"lineNumber":4788,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR GPL-3.0-or-later)\",","isFullCredit":false},{"lineNumber":4789,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4790,"author":{"gitId":"sopa301"},"content":" \"lie\": \"~3.3.0\",","isFullCredit":false},{"lineNumber":4791,"author":{"gitId":"sopa301"},"content":" \"pako\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":4792,"author":{"gitId":"sopa301"},"content":" \"readable-stream\": \"~2.3.6\",","isFullCredit":false},{"lineNumber":4793,"author":{"gitId":"sopa301"},"content":" \"setimmediate\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":4794,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4795,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4796,"author":{"gitId":"sopa301"},"content":" \"node_modules/keyv\": {","isFullCredit":false},{"lineNumber":4797,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.5.4\",","isFullCredit":false},{"lineNumber":4798,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",","isFullCredit":false},{"lineNumber":4799,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw\u003d\u003d\",","isFullCredit":false},{"lineNumber":4800,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4801,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4802,"author":{"gitId":"sopa301"},"content":" \"json-buffer\": \"3.0.1\"","isFullCredit":false},{"lineNumber":4803,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4804,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4805,"author":{"gitId":"sopa301"},"content":" \"node_modules/kind-of\": {","isFullCredit":false},{"lineNumber":4806,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.3\",","isFullCredit":false},{"lineNumber":4807,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4808,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4809,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4810,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4811,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4813,"author":{"gitId":"sopa301"},"content":" \"node_modules/known-css-properties\": {","isFullCredit":false},{"lineNumber":4814,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.30.0\",","isFullCredit":false},{"lineNumber":4815,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz\",","isFullCredit":false},{"lineNumber":4816,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":4817,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":4818,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4819,"author":{"gitId":"sopa301"},"content":" \"node_modules/levn\": {","isFullCredit":false},{"lineNumber":4820,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":4821,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4822,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4823,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4824,"author":{"gitId":"sopa301"},"content":" \"prelude-ls\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":4825,"author":{"gitId":"sopa301"},"content":" \"type-check\": \"~0.4.0\"","isFullCredit":false},{"lineNumber":4826,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4827,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4828,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":4829,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4830,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4831,"author":{"gitId":"sopa301"},"content":" \"node_modules/lie\": {","isFullCredit":false},{"lineNumber":4832,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":4833,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4834,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4835,"author":{"gitId":"sopa301"},"content":" \"immediate\": \"~3.0.5\"","isFullCredit":false},{"lineNumber":4836,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4837,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4838,"author":{"gitId":"sopa301"},"content":" \"node_modules/lines-and-columns\": {","isFullCredit":false},{"lineNumber":4839,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":4840,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4841,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4842,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4843,"author":{"gitId":"sopa301"},"content":" \"node_modules/linkify-it\": {","isFullCredit":false},{"lineNumber":4844,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":4845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4846,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4847,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":4848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4850,"author":{"gitId":"sopa301"},"content":" \"node_modules/loader-runner\": {","isFullCredit":false},{"lineNumber":4851,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":4852,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4854,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4855,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4856,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.11.5\"","isFullCredit":false},{"lineNumber":4857,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4858,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4859,"author":{"gitId":"sopa301"},"content":" \"node_modules/locate-path\": {","isFullCredit":false},{"lineNumber":4860,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":4861,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4862,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4863,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4864,"author":{"gitId":"sopa301"},"content":" \"p-locate\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":4865,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4866,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4867,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":4868,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4869,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4870,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4871,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4872,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4873,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash\": {","isFullCredit":false},{"lineNumber":4874,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":4875,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4876,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4877,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.merge\": {","isFullCredit":false},{"lineNumber":4878,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.6.2\",","isFullCredit":false},{"lineNumber":4879,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4880,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4881,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4882,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.truncate\": {","isFullCredit":false},{"lineNumber":4883,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.2\",","isFullCredit":false},{"lineNumber":4884,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4885,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4886,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4887,"author":{"gitId":"sopa301"},"content":" \"node_modules/loose-envify\": {","isFullCredit":false},{"lineNumber":4888,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":4889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4890,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4891,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4892,"author":{"gitId":"sopa301"},"content":" \"js-tokens\": \"^3.0.0 || ^4.0.0\"","isFullCredit":false},{"lineNumber":4893,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4894,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4895,"author":{"gitId":"sopa301"},"content":" \"loose-envify\": \"cli.js\"","isFullCredit":false},{"lineNumber":4896,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4897,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4898,"author":{"gitId":"sopa301"},"content":" \"node_modules/magic-string\": {","isFullCredit":false},{"lineNumber":4899,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.30.8\",","isFullCredit":false},{"lineNumber":4900,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4901,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4902,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.15\"","isFullCredit":false},{"lineNumber":4903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4904,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4905,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":4906,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4907,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4908,"author":{"gitId":"sopa301"},"content":" \"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec\": {","isFullCredit":false},{"lineNumber":4909,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.15\",","isFullCredit":false},{"lineNumber":4910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4911,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4912,"author":{"gitId":"sopa301"},"content":" \"node_modules/markdown-it\": {","isFullCredit":false},{"lineNumber":4913,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.1.0\",","isFullCredit":false},{"lineNumber":4914,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4915,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4916,"author":{"gitId":"sopa301"},"content":" \"argparse\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":4917,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":4918,"author":{"gitId":"sopa301"},"content":" \"linkify-it\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":4919,"author":{"gitId":"sopa301"},"content":" \"mdurl\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4920,"author":{"gitId":"sopa301"},"content":" \"punycode.js\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":4921,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":4922,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4923,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4924,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"bin/markdown-it.mjs\"","isFullCredit":false},{"lineNumber":4925,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4926,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4927,"author":{"gitId":"sopa301"},"content":" \"node_modules/mathml-tag-names\": {","isFullCredit":false},{"lineNumber":4928,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":4929,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4930,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4931,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4932,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4933,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/wooorm\"","isFullCredit":false},{"lineNumber":4934,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4936,"author":{"gitId":"sopa301"},"content":" \"node_modules/mdurl\": {","isFullCredit":false},{"lineNumber":4937,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4938,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4939,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4940,"author":{"gitId":"sopa301"},"content":" \"node_modules/meow\": {","isFullCredit":false},{"lineNumber":4941,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.2.0\",","isFullCredit":false},{"lineNumber":4942,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/meow/-/meow-13.2.0.tgz\",","isFullCredit":false},{"lineNumber":4943,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA\u003d\u003d\",","isFullCredit":false},{"lineNumber":4944,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4945,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4946,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18\"","isFullCredit":false},{"lineNumber":4947,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4948,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4949,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4950,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4951,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4952,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge-stream\": {","isFullCredit":false},{"lineNumber":4953,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4954,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4956,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4957,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge2\": {","isFullCredit":false},{"lineNumber":4958,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":4959,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4960,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4961,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4962,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":4963,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4964,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4965,"author":{"gitId":"sopa301"},"content":" \"node_modules/micromatch\": {","isFullCredit":false},{"lineNumber":4966,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.5\",","isFullCredit":false},{"lineNumber":4967,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4969,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4970,"author":{"gitId":"sopa301"},"content":" \"braces\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":4971,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.3.1\"","isFullCredit":false},{"lineNumber":4972,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4973,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4974,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":4975,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4976,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4977,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-db\": {","isFullCredit":false},{"lineNumber":4978,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":4979,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4980,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4981,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4982,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4983,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":4984,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4985,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4986,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-types\": {","isFullCredit":false},{"lineNumber":4987,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":4988,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4989,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4990,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":4991,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4992,"author":{"gitId":"sopa301"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":4993,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4994,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4995,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":4996,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":4997,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":4998,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":4999,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.4\",","isFullCredit":false},{"lineNumber":5000,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz\",","isFullCredit":false},{"lineNumber":5001,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw\u003d\u003d\",","isFullCredit":false},{"lineNumber":5002,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5003,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5004,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5005,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5006,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\"","isFullCredit":false},{"lineNumber":5007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5008,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5009,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":5010,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5011,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5012,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimist\": {","isFullCredit":false},{"lineNumber":5013,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.7\",","isFullCredit":false},{"lineNumber":5014,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5015,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5016,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5017,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5018,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5019,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5020,"author":{"gitId":"sopa301"},"content":" \"node_modules/ms\": {","isFullCredit":false},{"lineNumber":5021,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":5022,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5023,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5024,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5025,"author":{"gitId":"sopa301"},"content":" \"node_modules/muicss\": {","isFullCredit":false},{"lineNumber":5026,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.10.3\",","isFullCredit":false},{"lineNumber":5027,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5028,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5029,"author":{"gitId":"sopa301"},"content":" \"react-addons-shallow-compare\": \"^15.6.2\"","isFullCredit":false},{"lineNumber":5030,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5031,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5032,"author":{"gitId":"sopa301"},"content":" \"react\": \"^0.14.0 || ^15.0.0 || ^16.0.0\"","isFullCredit":false},{"lineNumber":5033,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5034,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5035,"author":{"gitId":"sopa301"},"content":" \"node_modules/nanoid\": {","isFullCredit":false},{"lineNumber":5036,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.7\",","isFullCredit":false},{"lineNumber":5037,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":5038,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5039,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5040,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":5041,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":5042,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":5043,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5044,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5045,"author":{"gitId":"sopa301"},"content":" \"nanoid\": \"bin/nanoid.cjs\"","isFullCredit":false},{"lineNumber":5046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5047,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5048,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10 || ^12 || ^13.7 || ^14 || \u003e\u003d15.0.1\"","isFullCredit":false},{"lineNumber":5049,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5051,"author":{"gitId":"sopa301"},"content":" \"node_modules/natural-compare\": {","isFullCredit":false},{"lineNumber":5052,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":5053,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5054,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5056,"author":{"gitId":"sopa301"},"content":" \"node_modules/neo-async\": {","isFullCredit":false},{"lineNumber":5057,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":5058,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5059,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5060,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":5061,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5062,"author":{"gitId":"sopa301"},"content":" \"node_modules/node-releases\": {","isFullCredit":false},{"lineNumber":5063,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.8\",","isFullCredit":false},{"lineNumber":5064,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5066,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":5067,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5068,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-path\": {","isFullCredit":false},{"lineNumber":5069,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5070,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":5071,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5072,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5073,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5074,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5075,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5076,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize.css\": {","isFullCredit":false},{"lineNumber":5077,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":5078,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5079,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5080,"author":{"gitId":"sopa301"},"content":" \"node_modules/nth-check\": {","isFullCredit":false},{"lineNumber":5081,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":5082,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5083,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5084,"author":{"gitId":"sopa301"},"content":" \"boolbase\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":5085,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5086,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5087,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/nth-check?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5088,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5089,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5090,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-assign\": {","isFullCredit":false},{"lineNumber":5091,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":5092,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5093,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5094,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5095,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5097,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {","isFullCredit":false},{"lineNumber":5098,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.13.1\",","isFullCredit":false},{"lineNumber":5099,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5100,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5101,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5102,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5104,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5105,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-keys\": {","isFullCredit":false},{"lineNumber":5106,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":5107,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5108,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5109,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5110,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5113,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.assign\": {","isFullCredit":false},{"lineNumber":5114,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.5\",","isFullCredit":false},{"lineNumber":5115,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5117,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5118,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":5119,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":5120,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":5121,"author":{"gitId":"sopa301"},"content":" \"object-keys\": \"^1.1.1\"","isFullCredit":false},{"lineNumber":5122,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5123,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5124,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5125,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5126,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5127,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5128,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5129,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5130,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.entries\": {","isFullCredit":false},{"lineNumber":5131,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\",","isFullCredit":false},{"lineNumber":5132,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5133,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5134,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5135,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":5136,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":5137,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.20.4\"","isFullCredit":false},{"lineNumber":5138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5139,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5140,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5141,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5142,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5143,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.fromentries\": {","isFullCredit":false},{"lineNumber":5144,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.7\",","isFullCredit":false},{"lineNumber":5145,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5146,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5147,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5148,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":5149,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":5150,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":5151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5152,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5153,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5154,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5155,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5156,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5157,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5158,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5159,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.groupby\": {","isFullCredit":false},{"lineNumber":5160,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":5161,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5162,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5163,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5164,"author":{"gitId":"sopa301"},"content":" \"array.prototype.filter\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":5165,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":5166,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":5167,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":5168,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":5169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5170,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5171,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.values\": {","isFullCredit":false},{"lineNumber":5172,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.7\",","isFullCredit":false},{"lineNumber":5173,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5174,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5175,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5176,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":5177,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":5178,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":5179,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5180,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5181,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5182,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5183,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5184,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5186,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5187,"author":{"gitId":"sopa301"},"content":" \"node_modules/once\": {","isFullCredit":false},{"lineNumber":5188,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":5189,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5190,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5191,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":5192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5194,"author":{"gitId":"sopa301"},"content":" \"node_modules/optionator\": {","isFullCredit":false},{"lineNumber":5195,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.9.3\",","isFullCredit":false},{"lineNumber":5196,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5197,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5198,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5199,"author":{"gitId":"sopa301"},"content":" \"@aashutoshrathi/word-wrap\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":5200,"author":{"gitId":"sopa301"},"content":" \"deep-is\": \"^0.1.3\",","isFullCredit":false},{"lineNumber":5201,"author":{"gitId":"sopa301"},"content":" \"fast-levenshtein\": \"^2.0.6\",","isFullCredit":false},{"lineNumber":5202,"author":{"gitId":"sopa301"},"content":" \"levn\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":5203,"author":{"gitId":"sopa301"},"content":" \"prelude-ls\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":5204,"author":{"gitId":"sopa301"},"content":" \"type-check\": \"^0.4.0\"","isFullCredit":false},{"lineNumber":5205,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5206,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5207,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":5208,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5209,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5210,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-limit\": {","isFullCredit":false},{"lineNumber":5211,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":5212,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5213,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5214,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5215,"author":{"gitId":"sopa301"},"content":" \"yocto-queue\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":5216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5217,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5218,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5219,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5220,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5221,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5223,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5224,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-locate\": {","isFullCredit":false},{"lineNumber":5225,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":5226,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5227,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5228,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5229,"author":{"gitId":"sopa301"},"content":" \"p-limit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":5230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5231,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5232,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5234,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5235,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5237,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5238,"author":{"gitId":"sopa301"},"content":" \"node_modules/pako\": {","isFullCredit":false},{"lineNumber":5239,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.11\",","isFullCredit":false},{"lineNumber":5240,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT AND Zlib)\"","isFullCredit":false},{"lineNumber":5241,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5242,"author":{"gitId":"sopa301"},"content":" \"node_modules/parent-module\": {","isFullCredit":false},{"lineNumber":5243,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":5244,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5245,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5246,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5247,"author":{"gitId":"sopa301"},"content":" \"callsites\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":5248,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5249,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5250,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5251,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5253,"author":{"gitId":"sopa301"},"content":" \"node_modules/parse-json\": {","isFullCredit":false},{"lineNumber":5254,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":5255,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5257,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5258,"author":{"gitId":"sopa301"},"content":" \"@babel/code-frame\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":5259,"author":{"gitId":"sopa301"},"content":" \"error-ex\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":5260,"author":{"gitId":"sopa301"},"content":" \"json-parse-even-better-errors\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":5261,"author":{"gitId":"sopa301"},"content":" \"lines-and-columns\": \"^1.1.6\"","isFullCredit":false},{"lineNumber":5262,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5263,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5264,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5266,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5267,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5268,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5270,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-exists\": {","isFullCredit":false},{"lineNumber":5271,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5272,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5273,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5274,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5275,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5278,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-is-absolute\": {","isFullCredit":false},{"lineNumber":5279,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":5280,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5281,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5282,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5283,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5284,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5285,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-key\": {","isFullCredit":false},{"lineNumber":5286,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":5287,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5288,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5289,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5290,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5293,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-parse\": {","isFullCredit":false},{"lineNumber":5294,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":5295,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5297,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-type\": {","isFullCredit":false},{"lineNumber":5298,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5299,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5300,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5301,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5302,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5304,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5305,"author":{"gitId":"sopa301"},"content":" \"node_modules/picocolors\": {","isFullCredit":false},{"lineNumber":5306,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":5307,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":5308,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5309,"author":{"gitId":"sopa301"},"content":" \"node_modules/picomatch\": {","isFullCredit":false},{"lineNumber":5310,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":5311,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":5312,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5313,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5314,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":5315,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5316,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5317,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\"","isFullCredit":false},{"lineNumber":5318,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5319,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5320,"author":{"gitId":"sopa301"},"content":" \"node_modules/possible-typed-array-names\": {","isFullCredit":false},{"lineNumber":5321,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":5322,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5323,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5324,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5325,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5326,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5327,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5328,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss\": {","isFullCredit":false},{"lineNumber":5329,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.4.38\",","isFullCredit":false},{"lineNumber":5330,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":5331,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5332,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5333,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":5334,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5335,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5336,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":5337,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss\"","isFullCredit":false},{"lineNumber":5338,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5339,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5340,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5341,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":5342,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":5343,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":5344,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5345,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5346,"author":{"gitId":"sopa301"},"content":" \"nanoid\": \"^3.3.7\",","isFullCredit":false},{"lineNumber":5347,"author":{"gitId":"sopa301"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5348,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":5349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5350,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5351,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":5352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5354,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-html\": {","isFullCredit":false},{"lineNumber":5355,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":5356,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5357,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5358,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5359,"author":{"gitId":"sopa301"},"content":" \"htmlparser2\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":5360,"author":{"gitId":"sopa301"},"content":" \"js-tokens\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":5361,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.0\",","isFullCredit":false},{"lineNumber":5362,"author":{"gitId":"sopa301"},"content":" \"postcss-safe-parser\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":5363,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5364,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5365,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":5366,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5367,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5368,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-html/node_modules/js-tokens\": {","isFullCredit":false},{"lineNumber":5369,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":5370,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5372,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5373,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-media-query-parser\": {","isFullCredit":false},{"lineNumber":5374,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.3\",","isFullCredit":false},{"lineNumber":5375,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz\",","isFullCredit":false},{"lineNumber":5376,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig\u003d\u003d\",","isFullCredit":false},{"lineNumber":5377,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":5378,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5379,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-resolve-nested-selector\": {","isFullCredit":false},{"lineNumber":5380,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":5381,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5382,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5383,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5384,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-safe-parser\": {","isFullCredit":false},{"lineNumber":5385,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":5386,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5387,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5388,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5389,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12.0\"","isFullCredit":false},{"lineNumber":5390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5391,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5392,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5393,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":5394,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5395,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5396,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\"","isFullCredit":false},{"lineNumber":5397,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5399,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-scss\": {","isFullCredit":false},{"lineNumber":5400,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.9\",","isFullCredit":false},{"lineNumber":5401,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz\",","isFullCredit":false},{"lineNumber":5402,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A\u003d\u003d\",","isFullCredit":false},{"lineNumber":5403,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5404,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":5405,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5406,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5407,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":5408,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5409,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5410,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":5411,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-scss\"","isFullCredit":false},{"lineNumber":5412,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5413,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5414,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5415,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":5416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5417,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":5418,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5419,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12.0\"","isFullCredit":false},{"lineNumber":5420,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5421,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5422,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.29\"","isFullCredit":false},{"lineNumber":5423,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5424,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5425,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-selector-parser\": {","isFullCredit":false},{"lineNumber":5426,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.16\",","isFullCredit":false},{"lineNumber":5427,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz\",","isFullCredit":false},{"lineNumber":5428,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":5429,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5430,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5431,"author":{"gitId":"sopa301"},"content":" \"cssesc\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5432,"author":{"gitId":"sopa301"},"content":" \"util-deprecate\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":5433,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5434,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5435,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":5436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5437,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5438,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-sorting\": {","isFullCredit":false},{"lineNumber":5439,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.2\",","isFullCredit":false},{"lineNumber":5440,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz\",","isFullCredit":false},{"lineNumber":5441,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":5442,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5443,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5444,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.20\"","isFullCredit":false},{"lineNumber":5445,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5446,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5447,"author":{"gitId":"sopa301"},"content":" \"node_modules/postcss-value-parser\": {","isFullCredit":false},{"lineNumber":5448,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":5449,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5450,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5451,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5452,"author":{"gitId":"sopa301"},"content":" \"node_modules/prelude-ls\": {","isFullCredit":false},{"lineNumber":5453,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":5454,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5455,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5456,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5457,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":5458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5460,"author":{"gitId":"sopa301"},"content":" \"node_modules/process-nextick-args\": {","isFullCredit":false},{"lineNumber":5461,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5462,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5464,"author":{"gitId":"sopa301"},"content":" \"node_modules/promise\": {","isFullCredit":false},{"lineNumber":5465,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.3.1\",","isFullCredit":false},{"lineNumber":5466,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5467,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5468,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5469,"author":{"gitId":"sopa301"},"content":" \"asap\": \"~2.0.3\"","isFullCredit":false},{"lineNumber":5470,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5471,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5472,"author":{"gitId":"sopa301"},"content":" \"node_modules/prop-types\": {","isFullCredit":false},{"lineNumber":5473,"author":{"gitId":"sopa301"},"content":" \"version\": \"15.8.1\",","isFullCredit":false},{"lineNumber":5474,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5475,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":5476,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5477,"author":{"gitId":"sopa301"},"content":" \"loose-envify\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":5478,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":5479,"author":{"gitId":"sopa301"},"content":" \"react-is\": \"^16.13.1\"","isFullCredit":false},{"lineNumber":5480,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5481,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5482,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug\": {","isFullCredit":false},{"lineNumber":5483,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":5484,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5485,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5486,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5487,"author":{"gitId":"sopa301"},"content":" \"pug-code-gen\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":5488,"author":{"gitId":"sopa301"},"content":" \"pug-filters\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5489,"author":{"gitId":"sopa301"},"content":" \"pug-lexer\": \"^5.0.1\",","isFullCredit":false},{"lineNumber":5490,"author":{"gitId":"sopa301"},"content":" \"pug-linker\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5491,"author":{"gitId":"sopa301"},"content":" \"pug-load\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5492,"author":{"gitId":"sopa301"},"content":" \"pug-parser\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":5493,"author":{"gitId":"sopa301"},"content":" \"pug-runtime\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":5494,"author":{"gitId":"sopa301"},"content":" \"pug-strip-comments\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5495,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5496,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5497,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-attrs\": {","isFullCredit":false},{"lineNumber":5498,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5499,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5500,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5501,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5502,"author":{"gitId":"sopa301"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":5503,"author":{"gitId":"sopa301"},"content":" \"js-stringify\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":5504,"author":{"gitId":"sopa301"},"content":" \"pug-runtime\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":5505,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5507,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-code-gen\": {","isFullCredit":false},{"lineNumber":5508,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":5509,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5510,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5511,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5512,"author":{"gitId":"sopa301"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":5513,"author":{"gitId":"sopa301"},"content":" \"doctypes\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":5514,"author":{"gitId":"sopa301"},"content":" \"js-stringify\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":5515,"author":{"gitId":"sopa301"},"content":" \"pug-attrs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5516,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5517,"author":{"gitId":"sopa301"},"content":" \"pug-runtime\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5518,"author":{"gitId":"sopa301"},"content":" \"void-elements\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":5519,"author":{"gitId":"sopa301"},"content":" \"with\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":5520,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5521,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5522,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-error\": {","isFullCredit":false},{"lineNumber":5523,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5524,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5525,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5526,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5527,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-filters\": {","isFullCredit":false},{"lineNumber":5528,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5529,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5530,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5531,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5532,"author":{"gitId":"sopa301"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":5533,"author":{"gitId":"sopa301"},"content":" \"jstransformer\": \"1.0.0\",","isFullCredit":false},{"lineNumber":5534,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5535,"author":{"gitId":"sopa301"},"content":" \"pug-walk\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5536,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"^1.15.1\"","isFullCredit":false},{"lineNumber":5537,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5539,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lexer\": {","isFullCredit":false},{"lineNumber":5540,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":5541,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5542,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5543,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5544,"author":{"gitId":"sopa301"},"content":" \"character-parser\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":5545,"author":{"gitId":"sopa301"},"content":" \"is-expression\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5546,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5547,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5548,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5549,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-linker\": {","isFullCredit":false},{"lineNumber":5550,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5551,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5552,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5553,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5554,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5555,"author":{"gitId":"sopa301"},"content":" \"pug-walk\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5556,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5558,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint\": {","isFullCredit":false},{"lineNumber":5559,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.0\",","isFullCredit":false},{"lineNumber":5560,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5561,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5562,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":5563,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^2.9.0\",","isFullCredit":false},{"lineNumber":5564,"author":{"gitId":"sopa301"},"content":" \"css-selector-parser\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":5565,"author":{"gitId":"sopa301"},"content":" \"find-line-column\": \"^0.5.2\",","isFullCredit":false},{"lineNumber":5566,"author":{"gitId":"sopa301"},"content":" \"glob\": \"^7.0.3\",","isFullCredit":false},{"lineNumber":5567,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.0.3\",","isFullCredit":false},{"lineNumber":5568,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5569,"author":{"gitId":"sopa301"},"content":" \"pug-attrs\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":5570,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":5571,"author":{"gitId":"sopa301"},"content":" \"pug-lexer\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5572,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"^1.1.7\",","isFullCredit":false},{"lineNumber":5573,"author":{"gitId":"sopa301"},"content":" \"strip-json-comments\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":5574,"author":{"gitId":"sopa301"},"content":" \"void-elements\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5575,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5576,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5577,"author":{"gitId":"sopa301"},"content":" \"pug-lint\": \"bin/pug-lint\"","isFullCredit":false},{"lineNumber":5578,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5580,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue\": {","isFullCredit":false},{"lineNumber":5581,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":5582,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5583,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5584,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5585,"author":{"gitId":"sopa301"},"content":" \"cheerio\": \"^1.0.0-rc.3\",","isFullCredit":false},{"lineNumber":5586,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":5587,"author":{"gitId":"sopa301"},"content":" \"htmlparser2\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5588,"author":{"gitId":"sopa301"},"content":" \"pug-lint\": \"^2.6.0\",","isFullCredit":false},{"lineNumber":5589,"author":{"gitId":"sopa301"},"content":" \"text-table\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":5590,"author":{"gitId":"sopa301"},"content":" \"walk\": \"^2.3.14\"","isFullCredit":false},{"lineNumber":5591,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5592,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5593,"author":{"gitId":"sopa301"},"content":" \"pug-lint-vue\": \"bin/pug-lint-vue\"","isFullCredit":false},{"lineNumber":5594,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":5595,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5596,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":5597,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":5598,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5599,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5600,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5602,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5603,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5605,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5606,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5607,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5609,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":5610,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":5611,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5612,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5613,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":5614,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":5615,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5616,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5617,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5619,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5620,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5621,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5622,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5623,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":5624,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5626,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5627,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":5628,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5629,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5630,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":5631,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5632,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5633,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":5634,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":5635,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5636,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5637,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/commander\": {","isFullCredit":false},{"lineNumber":5638,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":5639,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5640,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5641,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":5642,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5643,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5644,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":5645,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":5646,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5647,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5648,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":5649,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":5650,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5651,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5652,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5653,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5654,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5655,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5656,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":5657,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":5658,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5659,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5660,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":5661,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5662,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":5664,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5665,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5666,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5669,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":5670,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":5671,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5672,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5673,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5674,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5675,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5676,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":5677,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5678,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5679,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5680,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5681,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5682,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils\": {","isFullCredit":false},{"lineNumber":5683,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.8.0\",","isFullCredit":false},{"lineNumber":5684,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5685,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5686,"author":{"gitId":"sopa301"},"content":" \"dom-serializer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":5687,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":5688,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":5689,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5690,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5691,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5692,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5693,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5694,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":5695,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":5696,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5697,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5698,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":5699,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5700,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5701,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":5702,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5703,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5704,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5705,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5706,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5707,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/entities\": {","isFullCredit":false},{"lineNumber":5708,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":5709,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5710,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5711,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5712,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5714,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":5715,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5716,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5717,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5718,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5719,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5720,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5721,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/htmlparser2\": {","isFullCredit":false},{"lineNumber":5722,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":5723,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5724,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5725,"author":{"gitId":"sopa301"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":5726,"author":{"gitId":"sopa301"},"content":" \"domhandler\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5727,"author":{"gitId":"sopa301"},"content":" \"domutils\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5728,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5729,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5730,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5731,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint-vue/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":5732,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":5733,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5734,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5735,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":5736,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5737,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5738,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5739,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5740,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5741,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/acorn\": {","isFullCredit":false},{"lineNumber":5742,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.13\",","isFullCredit":false},{"lineNumber":5743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5744,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5745,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":5746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5747,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5748,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":5749,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5751,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":5752,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":5753,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5754,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5755,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5756,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":5757,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5758,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5759,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/commander\": {","isFullCredit":false},{"lineNumber":5760,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.20.3\",","isFullCredit":false},{"lineNumber":5761,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5762,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5763,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/constantinople\": {","isFullCredit":false},{"lineNumber":5764,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":5765,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5766,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5767,"author":{"gitId":"sopa301"},"content":" \"@types/babel-types\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":5768,"author":{"gitId":"sopa301"},"content":" \"@types/babylon\": \"^6.16.2\",","isFullCredit":false},{"lineNumber":5769,"author":{"gitId":"sopa301"},"content":" \"babel-types\": \"^6.26.0\",","isFullCredit":false},{"lineNumber":5770,"author":{"gitId":"sopa301"},"content":" \"babylon\": \"^6.18.0\"","isFullCredit":false},{"lineNumber":5771,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5773,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/is-expression\": {","isFullCredit":false},{"lineNumber":5774,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5776,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5777,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"~4.0.2\",","isFullCredit":false},{"lineNumber":5778,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":5779,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5780,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5781,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":5782,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":5783,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5784,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5785,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":5786,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5787,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5788,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":5789,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5791,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/pug-attrs\": {","isFullCredit":false},{"lineNumber":5792,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":5793,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5794,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5795,"author":{"gitId":"sopa301"},"content":" \"constantinople\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":5796,"author":{"gitId":"sopa301"},"content":" \"js-stringify\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":5797,"author":{"gitId":"sopa301"},"content":" \"pug-runtime\": \"^2.0.5\"","isFullCredit":false},{"lineNumber":5798,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5799,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5800,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/pug-error\": {","isFullCredit":false},{"lineNumber":5801,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.3\",","isFullCredit":false},{"lineNumber":5802,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5803,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5804,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/pug-lexer\": {","isFullCredit":false},{"lineNumber":5805,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":5806,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5807,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5808,"author":{"gitId":"sopa301"},"content":" \"character-parser\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":5809,"author":{"gitId":"sopa301"},"content":" \"is-expression\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5810,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^1.3.3\"","isFullCredit":false},{"lineNumber":5811,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5813,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/pug-runtime\": {","isFullCredit":false},{"lineNumber":5814,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":5815,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5816,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5817,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/strip-json-comments\": {","isFullCredit":false},{"lineNumber":5818,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5819,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5820,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5821,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5822,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5823,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5824,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-lint/node_modules/void-elements\": {","isFullCredit":false},{"lineNumber":5825,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5826,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5827,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5828,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5829,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5830,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5831,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-load\": {","isFullCredit":false},{"lineNumber":5832,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5833,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5834,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5835,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5836,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":5837,"author":{"gitId":"sopa301"},"content":" \"pug-walk\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5838,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5839,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5840,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-parser\": {","isFullCredit":false},{"lineNumber":5841,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":5842,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5844,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5845,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5846,"author":{"gitId":"sopa301"},"content":" \"token-stream\": \"1.0.0\"","isFullCredit":false},{"lineNumber":5847,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5848,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5849,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-runtime\": {","isFullCredit":false},{"lineNumber":5850,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":5851,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5852,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5853,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5854,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-strip-comments\": {","isFullCredit":false},{"lineNumber":5855,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5856,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5857,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5858,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5859,"author":{"gitId":"sopa301"},"content":" \"pug-error\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5860,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5861,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5862,"author":{"gitId":"sopa301"},"content":" \"node_modules/pug-walk\": {","isFullCredit":false},{"lineNumber":5863,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5864,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5865,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5866,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5867,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode\": {","isFullCredit":false},{"lineNumber":5868,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":5869,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5870,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5871,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5872,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5873,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5874,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5875,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode.js\": {","isFullCredit":false},{"lineNumber":5876,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":5877,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5878,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5879,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5880,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5882,"author":{"gitId":"sopa301"},"content":" \"node_modules/queue-microtask\": {","isFullCredit":false},{"lineNumber":5883,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.3\",","isFullCredit":false},{"lineNumber":5884,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5885,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":5886,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5887,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5888,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":5889,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5890,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5891,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":5892,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":5893,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5894,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":5895,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":5896,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":5897,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5898,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":5899,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5900,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5901,"author":{"gitId":"sopa301"},"content":" \"node_modules/randombytes\": {","isFullCredit":false},{"lineNumber":5902,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":5903,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5904,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5905,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":5906,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5907,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":5908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5910,"author":{"gitId":"sopa301"},"content":" \"node_modules/react\": {","isFullCredit":false},{"lineNumber":5911,"author":{"gitId":"sopa301"},"content":" \"version\": \"16.14.0\",","isFullCredit":false},{"lineNumber":5912,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5913,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":5914,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5915,"author":{"gitId":"sopa301"},"content":" \"loose-envify\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":5916,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":5917,"author":{"gitId":"sopa301"},"content":" \"prop-types\": \"^15.6.2\"","isFullCredit":false},{"lineNumber":5918,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5919,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5920,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5921,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5922,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5923,"author":{"gitId":"sopa301"},"content":" \"node_modules/react-addons-shallow-compare\": {","isFullCredit":false},{"lineNumber":5924,"author":{"gitId":"sopa301"},"content":" \"version\": \"15.6.3\",","isFullCredit":false},{"lineNumber":5925,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5926,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5927,"author":{"gitId":"sopa301"},"content":" \"object-assign\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":5928,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5929,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5930,"author":{"gitId":"sopa301"},"content":" \"node_modules/react-is\": {","isFullCredit":false},{"lineNumber":5931,"author":{"gitId":"sopa301"},"content":" \"version\": \"16.13.1\",","isFullCredit":false},{"lineNumber":5932,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5933,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":5934,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5935,"author":{"gitId":"sopa301"},"content":" \"node_modules/readable-stream\": {","isFullCredit":false},{"lineNumber":5936,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.7\",","isFullCredit":false},{"lineNumber":5937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5938,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5939,"author":{"gitId":"sopa301"},"content":" \"core-util-is\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":5940,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"~2.0.3\",","isFullCredit":false},{"lineNumber":5941,"author":{"gitId":"sopa301"},"content":" \"isarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":5942,"author":{"gitId":"sopa301"},"content":" \"process-nextick-args\": \"~2.0.0\",","isFullCredit":false},{"lineNumber":5943,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"~5.1.1\",","isFullCredit":false},{"lineNumber":5944,"author":{"gitId":"sopa301"},"content":" \"string_decoder\": \"~1.1.1\",","isFullCredit":false},{"lineNumber":5945,"author":{"gitId":"sopa301"},"content":" \"util-deprecate\": \"~1.0.1\"","isFullCredit":false},{"lineNumber":5946,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5947,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5948,"author":{"gitId":"sopa301"},"content":" \"node_modules/readdirp\": {","isFullCredit":false},{"lineNumber":5949,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.6.0\",","isFullCredit":false},{"lineNumber":5950,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":5951,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5952,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5953,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.2.1\"","isFullCredit":false},{"lineNumber":5954,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5955,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5956,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.10.0\"","isFullCredit":false},{"lineNumber":5957,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5958,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5959,"author":{"gitId":"sopa301"},"content":" \"node_modules/regexp.prototype.flags\": {","isFullCredit":false},{"lineNumber":5960,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.2\",","isFullCredit":false},{"lineNumber":5961,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5962,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5963,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5964,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":5965,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":5966,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":5967,"author":{"gitId":"sopa301"},"content":" \"set-function-name\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5968,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5969,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5971,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":5972,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5974,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5975,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5976,"author":{"gitId":"sopa301"},"content":" \"node_modules/require-from-string\": {","isFullCredit":false},{"lineNumber":5977,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":5978,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5980,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5981,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5982,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5984,"author":{"gitId":"sopa301"},"content":" \"node_modules/resolve\": {","isFullCredit":false},{"lineNumber":5985,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.8\",","isFullCredit":false},{"lineNumber":5986,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5987,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5988,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\",","isFullCredit":false},{"lineNumber":5989,"author":{"gitId":"-"},"content":" \"path-parse\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":5990,"author":{"gitId":"-"},"content":" \"supports-preserve-symlinks-flag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":5991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5992,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5993,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"bin/resolve\"","isFullCredit":false},{"lineNumber":5994,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5995,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5996,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5997,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5998,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5999,"author":{"gitId":"sopa301"},"content":" \"node_modules/resolve-from\": {","isFullCredit":false},{"lineNumber":6000,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6001,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6003,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6004,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6005,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6006,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6007,"author":{"gitId":"sopa301"},"content":" \"node_modules/reusify\": {","isFullCredit":false},{"lineNumber":6008,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":6009,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6010,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6011,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6012,"author":{"gitId":"sopa301"},"content":" \"iojs\": \"\u003e\u003d1.0.0\",","isFullCredit":false},{"lineNumber":6013,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":6014,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6015,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6016,"author":{"gitId":"sopa301"},"content":" \"node_modules/rimraf\": {","isFullCredit":false},{"lineNumber":6017,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":6018,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6019,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6020,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6021,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":6022,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6023,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6024,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"bin.js\"","isFullCredit":false},{"lineNumber":6025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6026,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6027,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":6028,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6029,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6030,"author":{"gitId":"sopa301"},"content":" \"node_modules/rollup\": {","isFullCredit":false},{"lineNumber":6031,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6032,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz\",","isFullCredit":false},{"lineNumber":6033,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6034,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6035,"author":{"gitId":"sopa301"},"content":" \"@types/estree\": \"1.0.5\"","isFullCredit":false},{"lineNumber":6036,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6037,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6038,"author":{"gitId":"sopa301"},"content":" \"rollup\": \"dist/bin/rollup\"","isFullCredit":false},{"lineNumber":6039,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6040,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6041,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.0.0\",","isFullCredit":false},{"lineNumber":6042,"author":{"gitId":"sopa301"},"content":" \"npm\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":6043,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6044,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":6045,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-android-arm-eabi\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6046,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-android-arm64\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6047,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-darwin-arm64\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6048,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-darwin-x64\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6049,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-arm-gnueabihf\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6050,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-arm-musleabihf\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6051,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-arm64-gnu\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6052,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-arm64-musl\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6053,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6054,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-riscv64-gnu\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6055,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-s390x-gnu\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6056,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-x64-gnu\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6057,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-linux-x64-musl\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6058,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-win32-arm64-msvc\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6059,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-win32-ia32-msvc\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6060,"author":{"gitId":"sopa301"},"content":" \"@rollup/rollup-win32-x64-msvc\": \"4.17.2\",","isFullCredit":false},{"lineNumber":6061,"author":{"gitId":"sopa301"},"content":" \"fsevents\": \"~2.3.2\"","isFullCredit":false},{"lineNumber":6062,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6063,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6064,"author":{"gitId":"sopa301"},"content":" \"node_modules/run-parallel\": {","isFullCredit":false},{"lineNumber":6065,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":6066,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6067,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":6068,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6069,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6070,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":6071,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6072,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6073,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":6074,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":6075,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6076,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6077,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":6078,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":6079,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":6080,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":6081,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6082,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6083,"author":{"gitId":"-"},"content":" \"queue-microtask\": \"^1.2.2\"","isFullCredit":false},{"lineNumber":6084,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6085,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6086,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat\": {","isFullCredit":false},{"lineNumber":6087,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":6088,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6089,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6090,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6091,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6092,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":6093,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6094,"author":{"gitId":"sopa301"},"content":" \"isarray\": \"^2.0.5\"","isFullCredit":false},{"lineNumber":6095,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6096,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6097,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4\"","isFullCredit":false},{"lineNumber":6098,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6099,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6100,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6103,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat/node_modules/isarray\": {","isFullCredit":false},{"lineNumber":6104,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":6105,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6106,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6107,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6108,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":6109,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":6110,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6112,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-regex-test\": {","isFullCredit":false},{"lineNumber":6113,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":6114,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6115,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6116,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6117,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":6118,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":6119,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\"","isFullCredit":false},{"lineNumber":6120,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6121,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6122,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6123,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6124,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6125,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6128,"author":{"gitId":"sopa301"},"content":" \"node_modules/sass\": {","isFullCredit":false},{"lineNumber":6129,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.72.0\",","isFullCredit":false},{"lineNumber":6130,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":6131,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6132,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6133,"author":{"gitId":"-"},"content":" \"chokidar\": \"\u003e\u003d3.0.0 \u003c4.0.0\",","isFullCredit":false},{"lineNumber":6134,"author":{"gitId":"-"},"content":" \"immutable\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6135,"author":{"gitId":"-"},"content":" \"source-map-js\": \"\u003e\u003d0.6.2 \u003c2.0.0\"","isFullCredit":false},{"lineNumber":6136,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6137,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6138,"author":{"gitId":"sopa301"},"content":" \"sass\": \"sass.js\"","isFullCredit":false},{"lineNumber":6139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6140,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6141,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":6142,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6143,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6144,"author":{"gitId":"sopa301"},"content":" \"node_modules/seedrandom\": {","isFullCredit":false},{"lineNumber":6145,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.5\",","isFullCredit":false},{"lineNumber":6146,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6147,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6148,"author":{"gitId":"sopa301"},"content":" \"node_modules/semver\": {","isFullCredit":false},{"lineNumber":6149,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.3.1\",","isFullCredit":false},{"lineNumber":6150,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6151,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6152,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6153,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":6154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6156,"author":{"gitId":"sopa301"},"content":" \"node_modules/serialize-javascript\": {","isFullCredit":false},{"lineNumber":6157,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":6158,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6159,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":6160,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":6161,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6162,"author":{"gitId":"sopa301"},"content":" \"randombytes\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":6163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6164,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6165,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-length\": {","isFullCredit":false},{"lineNumber":6166,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":6167,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6168,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6169,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":6170,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":6171,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":6172,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":6173,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6174,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":6175,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6176,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6177,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6178,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6179,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6180,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-name\": {","isFullCredit":false},{"lineNumber":6181,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":6182,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6183,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6184,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6185,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":6186,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":6187,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":6188,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":6189,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6190,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6191,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6194,"author":{"gitId":"sopa301"},"content":" \"node_modules/setimmediate\": {","isFullCredit":false},{"lineNumber":6195,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":6196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6197,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6198,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":6199,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":6200,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6201,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6202,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6203,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":6204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6205,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6206,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6208,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6209,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":6210,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":6211,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6212,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6213,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6214,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6217,"author":{"gitId":"sopa301"},"content":" \"node_modules/side-channel\": {","isFullCredit":false},{"lineNumber":6218,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":6219,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6220,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6221,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6222,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6223,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6224,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":6225,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6226,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6227,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6228,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6229,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6230,"author":{"gitId":"sopa301"},"content":" \"node_modules/slash\": {","isFullCredit":false},{"lineNumber":6231,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":6232,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6233,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6234,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6235,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6237,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6238,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":6239,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6240,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6241,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6242,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6243,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6244,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6245,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":6246,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6247,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6248,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6249,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6250,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6251,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6254,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":6255,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":6256,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6257,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6258,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6259,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":6260,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6261,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6262,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6263,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6264,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6265,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6266,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6267,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6268,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":6269,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":6270,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6271,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6272,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6273,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":6274,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6275,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6276,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":6277,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6278,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6279,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":6280,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":6281,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6282,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6284,"author":{"gitId":"sopa301"},"content":" \"node_modules/source-map\": {","isFullCredit":false},{"lineNumber":6285,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":6286,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":6287,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":6288,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":6289,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6290,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":6291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6293,"author":{"gitId":"sopa301"},"content":" \"node_modules/source-map-js\": {","isFullCredit":false},{"lineNumber":6294,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":6295,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":6296,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6297,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":6298,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6299,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6300,"author":{"gitId":"sopa301"},"content":" \"node_modules/source-map-support\": {","isFullCredit":false},{"lineNumber":6301,"author":{"gitId":"-"},"content":" \"version\": \"0.5.21\",","isFullCredit":false},{"lineNumber":6302,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":6303,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6304,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":6305,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6306,"author":{"gitId":"-"},"content":" \"buffer-from\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6307,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.0\"","isFullCredit":false},{"lineNumber":6308,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6309,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6310,"author":{"gitId":"sopa301"},"content":" \"node_modules/string_decoder\": {","isFullCredit":false},{"lineNumber":6311,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":6312,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6313,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6314,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.0\"","isFullCredit":false},{"lineNumber":6315,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6316,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6317,"author":{"gitId":"sopa301"},"content":" \"node_modules/string-width\": {","isFullCredit":false},{"lineNumber":6318,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":6319,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6321,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6322,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":6323,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6324,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":6325,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6326,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6327,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6328,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6329,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6330,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trim\": {","isFullCredit":false},{"lineNumber":6331,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":6332,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6333,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6334,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6335,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6336,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":6337,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":6338,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6339,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6340,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6341,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6342,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6343,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6344,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6345,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6346,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trimend\": {","isFullCredit":false},{"lineNumber":6347,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":6348,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6349,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6350,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6351,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6352,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":6353,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":6354,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6355,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6356,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6357,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6358,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6359,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trimstart\": {","isFullCredit":false},{"lineNumber":6360,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":6361,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6362,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6363,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6364,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6365,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":6366,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":6367,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6368,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6369,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6370,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6371,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6372,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":6373,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":6374,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6375,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6376,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6377,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":6378,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6379,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6380,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6381,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6383,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-bom\": {","isFullCredit":false},{"lineNumber":6384,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":6385,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6386,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6387,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6388,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6389,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6391,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-json-comments\": {","isFullCredit":false},{"lineNumber":6392,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":6393,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6394,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6395,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6396,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6397,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6398,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6399,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":6400,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6401,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6402,"author":{"gitId":"sopa301"},"content":" \"node_modules/style-search\": {","isFullCredit":false},{"lineNumber":6403,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":6404,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6405,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":6406,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6407,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint\": {","isFullCredit":false},{"lineNumber":6408,"author":{"gitId":"sopa301"},"content":" \"version\": \"16.3.1\",","isFullCredit":false},{"lineNumber":6409,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz\",","isFullCredit":false},{"lineNumber":6410,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6411,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6412,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6413,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\",","isFullCredit":false},{"lineNumber":6414,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\",","isFullCredit":false},{"lineNumber":6415,"author":{"gitId":"sopa301"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.9\",","isFullCredit":false},{"lineNumber":6416,"author":{"gitId":"sopa301"},"content":" \"@csstools/selector-specificity\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":6417,"author":{"gitId":"sopa301"},"content":" \"@dual-bundle/import-meta-resolve\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6418,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6419,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.3\",","isFullCredit":false},{"lineNumber":6420,"author":{"gitId":"sopa301"},"content":" \"cosmiconfig\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":6421,"author":{"gitId":"sopa301"},"content":" \"css-functions-list\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":6422,"author":{"gitId":"sopa301"},"content":" \"css-tree\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":6423,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":6424,"author":{"gitId":"sopa301"},"content":" \"fast-glob\": \"^3.3.2\",","isFullCredit":false},{"lineNumber":6425,"author":{"gitId":"-"},"content":" \"fastest-levenshtein\": \"^1.0.16\",","isFullCredit":false},{"lineNumber":6426,"author":{"gitId":"sopa301"},"content":" \"file-entry-cache\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":6427,"author":{"gitId":"-"},"content":" \"global-modules\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6428,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":6429,"author":{"gitId":"-"},"content":" \"globjoin\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":6430,"author":{"gitId":"sopa301"},"content":" \"html-tags\": \"^3.3.1\",","isFullCredit":false},{"lineNumber":6431,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.3.1\",","isFullCredit":false},{"lineNumber":6432,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":6433,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":6434,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.30.0\",","isFullCredit":false},{"lineNumber":6435,"author":{"gitId":"-"},"content":" \"mathml-tag-names\": \"^2.1.3\",","isFullCredit":false},{"lineNumber":6436,"author":{"gitId":"sopa301"},"content":" \"meow\": \"^13.2.0\",","isFullCredit":false},{"lineNumber":6437,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\",","isFullCredit":false},{"lineNumber":6438,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6439,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6440,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":6441,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":6442,"author":{"gitId":"sopa301"},"content":" \"postcss-safe-parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":6443,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.16\",","isFullCredit":false},{"lineNumber":6444,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":6445,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":6446,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\",","isFullCredit":false},{"lineNumber":6447,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^7.1.0\",","isFullCredit":false},{"lineNumber":6448,"author":{"gitId":"sopa301"},"content":" \"supports-hyperlinks\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6449,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6450,"author":{"gitId":"-"},"content":" \"table\": \"^6.8.1\",","isFullCredit":false},{"lineNumber":6451,"author":{"gitId":"sopa301"},"content":" \"write-file-atomic\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":6452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6453,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6454,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"bin/stylelint.mjs\"","isFullCredit":false},{"lineNumber":6455,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6456,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6457,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6458,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6459,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6460,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/stylelint\"","isFullCredit":false},{"lineNumber":6462,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6464,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-html\": {","isFullCredit":false},{"lineNumber":6465,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":6466,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6467,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6468,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6469,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":6470,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6471,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6472,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\"","isFullCredit":false},{"lineNumber":6473,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6474,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6475,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6476,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":6477,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6479,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended\": {","isFullCredit":false},{"lineNumber":6480,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\",","isFullCredit":false},{"lineNumber":6481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz\",","isFullCredit":false},{"lineNumber":6482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6483,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6484,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6485,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6486,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6487,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6488,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.0\"","isFullCredit":false},{"lineNumber":6489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6490,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6491,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended-scss\": {","isFullCredit":false},{"lineNumber":6492,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\",","isFullCredit":false},{"lineNumber":6493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz\",","isFullCredit":false},{"lineNumber":6494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6496,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6497,"author":{"gitId":"sopa301"},"content":" \"postcss-scss\": \"^4.0.9\",","isFullCredit":false},{"lineNumber":6498,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":6499,"author":{"gitId":"sopa301"},"content":" \"stylelint-scss\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":6500,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6501,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6502,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6503,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6504,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6505,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\",","isFullCredit":false},{"lineNumber":6506,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":6507,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6508,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":6509,"author":{"gitId":"sopa301"},"content":" \"postcss\": {","isFullCredit":false},{"lineNumber":6510,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":6511,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":6512,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6513,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6514,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended-vue\": {","isFullCredit":false},{"lineNumber":6515,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":6516,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6517,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6518,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6519,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\",","isFullCredit":false},{"lineNumber":6520,"author":{"gitId":"-"},"content":" \"stylelint-config-html\": \"\u003e\u003d1.0.0\",","isFullCredit":false},{"lineNumber":6521,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":6522,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6523,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6524,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":6525,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6526,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6527,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\"","isFullCredit":false},{"lineNumber":6528,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6529,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6530,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6531,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":6532,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6533,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6534,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":6535,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":6536,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6537,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6538,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6539,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6540,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6541,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6542,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6545,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/semver\": {","isFullCredit":false},{"lineNumber":6546,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":6547,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6548,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6549,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6550,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":6551,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6552,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6553,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":6554,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6555,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6556,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6557,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6558,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6559,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":6560,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6561,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6562,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":6563,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6564,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard\": {","isFullCredit":false},{"lineNumber":6565,"author":{"gitId":"sopa301"},"content":" \"version\": \"36.0.0\",","isFullCredit":false},{"lineNumber":6566,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz\",","isFullCredit":false},{"lineNumber":6567,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug\u003d\u003d\",","isFullCredit":false},{"lineNumber":6568,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6569,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6570,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\"","isFullCredit":false},{"lineNumber":6571,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6572,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6573,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6574,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6575,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6576,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\"","isFullCredit":false},{"lineNumber":6577,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6578,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6579,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard-scss\": {","isFullCredit":false},{"lineNumber":6580,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.1.0\",","isFullCredit":false},{"lineNumber":6581,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz\",","isFullCredit":false},{"lineNumber":6582,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6583,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6584,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6585,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-scss\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":6586,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\"","isFullCredit":false},{"lineNumber":6587,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6588,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6589,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6590,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6591,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6592,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\",","isFullCredit":false},{"lineNumber":6593,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.3.1\"","isFullCredit":false},{"lineNumber":6594,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6595,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":6596,"author":{"gitId":"sopa301"},"content":" \"postcss\": {","isFullCredit":false},{"lineNumber":6597,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":6598,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":6599,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6600,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6601,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-order\": {","isFullCredit":false},{"lineNumber":6602,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\",","isFullCredit":false},{"lineNumber":6603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz\",","isFullCredit":false},{"lineNumber":6604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6605,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6606,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6607,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.32\",","isFullCredit":false},{"lineNumber":6608,"author":{"gitId":"sopa301"},"content":" \"postcss-sorting\": \"^8.0.2\"","isFullCredit":false},{"lineNumber":6609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6610,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6611,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^14.0.0 || ^15.0.0 || ^16.0.1\"","isFullCredit":false},{"lineNumber":6612,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6613,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6614,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-scss\": {","isFullCredit":false},{"lineNumber":6615,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":6616,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":6617,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6618,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6619,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6620,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.29.0\",","isFullCredit":false},{"lineNumber":6621,"author":{"gitId":"-"},"content":" \"postcss-media-query-parser\": \"^0.2.3\",","isFullCredit":false},{"lineNumber":6622,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":6623,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":6624,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":6625,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6626,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6627,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":6628,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6629,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6630,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":6631,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6632,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6633,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-scss/node_modules/known-css-properties\": {","isFullCredit":false},{"lineNumber":6634,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.29.0\",","isFullCredit":false},{"lineNumber":6635,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz\",","isFullCredit":false},{"lineNumber":6636,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6637,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":6638,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6639,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin\": {","isFullCredit":false},{"lineNumber":6640,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":6641,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-5.0.0.tgz\",","isFullCredit":false},{"lineNumber":6642,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f56OmfvIYfZpL5+TKg3LZ+Ehzoar5GAwytUtsdti+W6WhR3UpQC36vmXHsKxx9ibj7dKXCIKea6w0U+LdVSBmg\u003d\u003d\",","isFullCredit":false},{"lineNumber":6643,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6644,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6645,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":6646,"author":{"gitId":"sopa301"},"content":" \"jest-worker\": \"^29.7.0\",","isFullCredit":false},{"lineNumber":6647,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\",","isFullCredit":false},{"lineNumber":6648,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6649,"author":{"gitId":"sopa301"},"content":" \"schema-utils\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":6650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6651,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6652,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 18.12.0\"","isFullCredit":false},{"lineNumber":6653,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6654,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6655,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6656,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":6657,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6658,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6659,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0\",","isFullCredit":false},{"lineNumber":6660,"author":{"gitId":"sopa301"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":6661,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6662,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6663,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":6664,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":6665,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz\",","isFullCredit":false},{"lineNumber":6666,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6667,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6668,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6669,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":6670,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6671,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":6672,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":6673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6674,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6675,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6676,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":6677,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6678,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6679,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":6680,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":6681,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",","isFullCredit":false},{"lineNumber":6682,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6683,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6684,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6685,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":6686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6687,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6688,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":6689,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6690,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6691,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":6692,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6693,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":6694,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6695,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6696,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6697,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6698,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6699,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6700,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/jest-worker\": {","isFullCredit":false},{"lineNumber":6701,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.7.0\",","isFullCredit":false},{"lineNumber":6702,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz\",","isFullCredit":false},{"lineNumber":6703,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6704,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6705,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6706,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":6707,"author":{"gitId":"sopa301"},"content":" \"jest-util\": \"^29.7.0\",","isFullCredit":false},{"lineNumber":6708,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6709,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":6710,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6711,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6712,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":6713,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6714,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6715,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":6716,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6717,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":6718,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug\u003d\u003d\",","isFullCredit":false},{"lineNumber":6719,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":6720,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6721,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":6722,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":6723,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",","isFullCredit":false},{"lineNumber":6724,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6725,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6726,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6727,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":6728,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.9.0\",","isFullCredit":false},{"lineNumber":6729,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":6730,"author":{"gitId":"sopa301"},"content":" \"ajv-keywords\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":6731,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6732,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6733,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":6734,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6735,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6736,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6737,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":6738,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6740,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":6741,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":6742,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":6743,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":6744,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6745,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6746,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6747,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6748,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6749,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6751,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6752,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6753,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6754,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6755,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":6756,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":6757,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":6758,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6759,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6760,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6761,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":6762,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6763,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6764,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-regex?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6765,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6767,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":6768,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":6769,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6770,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6772,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/cosmiconfig\": {","isFullCredit":false},{"lineNumber":6773,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.0\",","isFullCredit":false},{"lineNumber":6774,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz\",","isFullCredit":false},{"lineNumber":6775,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg\u003d\u003d\",","isFullCredit":false},{"lineNumber":6776,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6777,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6778,"author":{"gitId":"sopa301"},"content":" \"env-paths\": \"^2.2.1\",","isFullCredit":false},{"lineNumber":6779,"author":{"gitId":"sopa301"},"content":" \"import-fresh\": \"^3.3.0\",","isFullCredit":false},{"lineNumber":6780,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":6781,"author":{"gitId":"sopa301"},"content":" \"parse-json\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":6782,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6783,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6784,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\"","isFullCredit":false},{"lineNumber":6785,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6786,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6787,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/d-fischer\"","isFullCredit":false},{"lineNumber":6788,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6789,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6790,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.9.5\"","isFullCredit":false},{"lineNumber":6791,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6792,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":6793,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":6794,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":6795,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6798,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/css-tree\": {","isFullCredit":false},{"lineNumber":6799,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":6800,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz\",","isFullCredit":false},{"lineNumber":6801,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6802,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6803,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6804,"author":{"gitId":"sopa301"},"content":" \"mdn-data\": \"2.0.30\",","isFullCredit":false},{"lineNumber":6805,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":6806,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6807,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6808,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10 || ^12.20.0 || ^14.13.0 || \u003e\u003d15.0.0\"","isFullCredit":false},{"lineNumber":6809,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6810,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6811,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/file-entry-cache\": {","isFullCredit":false},{"lineNumber":6812,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":6813,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":6814,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6815,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6816,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6817,"author":{"gitId":"sopa301"},"content":" \"flat-cache\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6818,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6819,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6820,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6821,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6822,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6823,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/flat-cache\": {","isFullCredit":false},{"lineNumber":6824,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":6825,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":6826,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6827,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6828,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6829,"author":{"gitId":"sopa301"},"content":" \"flatted\": \"^3.2.9\",","isFullCredit":false},{"lineNumber":6830,"author":{"gitId":"sopa301"},"content":" \"keyv\": \"^4.5.4\"","isFullCredit":false},{"lineNumber":6831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6832,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6833,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16\"","isFullCredit":false},{"lineNumber":6834,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6836,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/mdn-data\": {","isFullCredit":false},{"lineNumber":6837,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.30\",","isFullCredit":false},{"lineNumber":6838,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz\",","isFullCredit":false},{"lineNumber":6839,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6840,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":6841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6842,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/postcss-safe-parser\": {","isFullCredit":false},{"lineNumber":6843,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":6844,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":6845,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg\u003d\u003d\",","isFullCredit":false},{"lineNumber":6846,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6847,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":6848,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6849,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6850,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":6851,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6852,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6853,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":6854,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-safe-parser\"","isFullCredit":false},{"lineNumber":6855,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6856,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":6857,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6858,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":6859,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":6860,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":6861,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6862,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.0\"","isFullCredit":false},{"lineNumber":6863,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6864,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6865,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.31\"","isFullCredit":false},{"lineNumber":6866,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6867,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6868,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/resolve-from\": {","isFullCredit":false},{"lineNumber":6869,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":6870,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6871,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6872,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6873,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6874,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6876,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":6877,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.1.0\",","isFullCredit":false},{"lineNumber":6878,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",","isFullCredit":false},{"lineNumber":6879,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6880,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6881,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6882,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":6883,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6884,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6885,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":6886,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6887,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6888,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/strip-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6889,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6890,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6891,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":6892,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\",","isFullCredit":false},{"lineNumber":6893,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6894,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6895,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6896,"author":{"gitId":"-"},"content":" \"has-flag\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":6897,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6898,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6899,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6900,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6901,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6902,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-hyperlinks\": {","isFullCredit":false},{"lineNumber":6903,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":6904,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":6905,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6906,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6907,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6908,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6909,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":6910,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6911,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6912,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.18\"","isFullCredit":false},{"lineNumber":6913,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6914,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6915,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-hyperlinks/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":6916,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6917,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":6918,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6919,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6920,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6921,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6922,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6923,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6924,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-hyperlinks/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":6925,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":6926,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":6927,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":6928,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6929,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6930,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6931,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6932,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6933,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6934,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6936,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-preserve-symlinks-flag\": {","isFullCredit":false},{"lineNumber":6937,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6938,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6939,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6940,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6941,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":6942,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6943,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6944,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6945,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6946,"author":{"gitId":"sopa301"},"content":" \"node_modules/svg-tags\": {","isFullCredit":false},{"lineNumber":6947,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6948,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":6949,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6950,"author":{"gitId":"sopa301"},"content":" \"node_modules/table\": {","isFullCredit":false},{"lineNumber":6951,"author":{"gitId":"-"},"content":" \"version\": \"6.8.1\",","isFullCredit":false},{"lineNumber":6952,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6953,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":6954,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6955,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":6956,"author":{"gitId":"-"},"content":" \"lodash.truncate\": \"^4.4.2\",","isFullCredit":false},{"lineNumber":6957,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6958,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\",","isFullCredit":false},{"lineNumber":6959,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":6960,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6961,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6962,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":6963,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6964,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6965,"author":{"gitId":"sopa301"},"content":" \"node_modules/table/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":6966,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":6967,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6969,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6970,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":6971,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6972,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":6973,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":6974,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6975,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6976,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6977,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":6978,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6979,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6980,"author":{"gitId":"sopa301"},"content":" \"node_modules/table/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":6981,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6982,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6983,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6984,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6985,"author":{"gitId":"sopa301"},"content":" \"node_modules/terser\": {","isFullCredit":false},{"lineNumber":6986,"author":{"gitId":"-"},"content":" \"version\": \"5.16.1\",","isFullCredit":false},{"lineNumber":6987,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":6988,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6989,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":6990,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6991,"author":{"gitId":"-"},"content":" \"@jridgewell/source-map\": \"^0.3.2\",","isFullCredit":false},{"lineNumber":6992,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.5.0\",","isFullCredit":false},{"lineNumber":6993,"author":{"gitId":"-"},"content":" \"commander\": \"^2.20.0\",","isFullCredit":false},{"lineNumber":6994,"author":{"gitId":"-"},"content":" \"source-map-support\": \"~0.5.20\"","isFullCredit":false},{"lineNumber":6995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6996,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6997,"author":{"gitId":"sopa301"},"content":" \"terser\": \"bin/terser\"","isFullCredit":false},{"lineNumber":6998,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6999,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7000,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7001,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7002,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7003,"author":{"gitId":"sopa301"},"content":" \"node_modules/terser-webpack-plugin\": {","isFullCredit":false},{"lineNumber":7004,"author":{"gitId":"-"},"content":" \"version\": \"5.3.6\",","isFullCredit":false},{"lineNumber":7005,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7006,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7007,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7008,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7009,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.14\",","isFullCredit":false},{"lineNumber":7010,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.4.5\",","isFullCredit":false},{"lineNumber":7011,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":7012,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":7013,"author":{"gitId":"-"},"content":" \"terser\": \"^5.14.1\"","isFullCredit":false},{"lineNumber":7014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7015,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7016,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":7017,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7018,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7019,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7020,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":7021,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7022,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7023,"author":{"gitId":"sopa301"},"content":" \"webpack\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":7024,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7025,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7026,"author":{"gitId":"sopa301"},"content":" \"@swc/core\": {","isFullCredit":false},{"lineNumber":7027,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7028,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7029,"author":{"gitId":"sopa301"},"content":" \"esbuild\": {","isFullCredit":false},{"lineNumber":7030,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7031,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7032,"author":{"gitId":"sopa301"},"content":" \"uglify-js\": {","isFullCredit":false},{"lineNumber":7033,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7034,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":7035,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7036,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7037,"author":{"gitId":"sopa301"},"content":" \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":7038,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":7039,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7040,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7041,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7042,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7043,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":7044,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":7045,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":7046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7047,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7048,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":7049,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7050,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7051,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7052,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":7053,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7054,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7055,"author":{"gitId":"sopa301"},"content":" \"node_modules/terser/node_modules/commander\": {","isFullCredit":false},{"lineNumber":7056,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.20.3\",","isFullCredit":false},{"lineNumber":7057,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":7058,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7059,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":7060,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7061,"author":{"gitId":"sopa301"},"content":" \"node_modules/text-table\": {","isFullCredit":false},{"lineNumber":7062,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":7063,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7064,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7065,"author":{"gitId":"sopa301"},"content":" \"node_modules/to-fast-properties\": {","isFullCredit":false},{"lineNumber":7066,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7067,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7068,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7069,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7070,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":7071,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7072,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7073,"author":{"gitId":"sopa301"},"content":" \"node_modules/to-regex-range\": {","isFullCredit":false},{"lineNumber":7074,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":7075,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":7076,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7077,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7078,"author":{"gitId":"-"},"content":" \"is-number\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":7079,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7080,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7081,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.0\"","isFullCredit":false},{"lineNumber":7082,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7083,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7084,"author":{"gitId":"sopa301"},"content":" \"node_modules/token-stream\": {","isFullCredit":false},{"lineNumber":7085,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":7086,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7087,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7088,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7089,"author":{"gitId":"sopa301"},"content":" \"node_modules/ts-api-utils\": {","isFullCredit":false},{"lineNumber":7090,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":7091,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":7092,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":7093,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7094,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7095,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16\"","isFullCredit":false},{"lineNumber":7096,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7097,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7098,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.2.0\"","isFullCredit":false},{"lineNumber":7099,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7100,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7101,"author":{"gitId":"sopa301"},"content":" \"node_modules/tsconfig-paths\": {","isFullCredit":false},{"lineNumber":7102,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.15.0\",","isFullCredit":false},{"lineNumber":7103,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7104,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7105,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7106,"author":{"gitId":"-"},"content":" \"@types/json5\": \"^0.0.29\",","isFullCredit":false},{"lineNumber":7107,"author":{"gitId":"sopa301"},"content":" \"json5\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":7108,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\",","isFullCredit":false},{"lineNumber":7109,"author":{"gitId":"-"},"content":" \"strip-bom\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":7110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7112,"author":{"gitId":"sopa301"},"content":" \"node_modules/tsconfig-paths/node_modules/json5\": {","isFullCredit":false},{"lineNumber":7113,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7114,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7115,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7116,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7117,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":7118,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7119,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7120,"author":{"gitId":"sopa301"},"content":" \"json5\": \"lib/cli.js\"","isFullCredit":false},{"lineNumber":7121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7122,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7123,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-check\": {","isFullCredit":false},{"lineNumber":7124,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":7125,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7126,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7127,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7128,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":7129,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7130,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7131,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":7132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7133,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7134,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":7135,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":7136,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":7137,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":7138,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7139,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7140,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7141,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7142,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7143,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7146,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-buffer\": {","isFullCredit":false},{"lineNumber":7147,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7148,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7149,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7150,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7151,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7152,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":7153,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":7154,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7155,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7156,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7157,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7158,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7159,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-length\": {","isFullCredit":false},{"lineNumber":7160,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":7161,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7162,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7163,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7164,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7165,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":7166,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7167,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":7168,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":7169,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7170,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7171,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7172,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7173,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7174,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7177,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-offset\": {","isFullCredit":false},{"lineNumber":7178,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7179,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7181,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7182,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7183,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7184,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":7185,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7186,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":7187,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":7188,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7189,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7190,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7191,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7192,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7193,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7194,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7195,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7196,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-length\": {","isFullCredit":false},{"lineNumber":7197,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":7198,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7199,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7200,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7201,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7202,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":7203,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7204,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":7205,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\",","isFullCredit":false},{"lineNumber":7206,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7207,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7208,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7209,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7210,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7211,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7212,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7213,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7214,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7215,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript\": {","isFullCredit":false},{"lineNumber":7216,"author":{"gitId":"-"},"content":" \"version\": \"4.9.5\",","isFullCredit":false},{"lineNumber":7217,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":7218,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":7219,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7220,"author":{"gitId":"sopa301"},"content":" \"tsc\": \"bin/tsc\",","isFullCredit":false},{"lineNumber":7221,"author":{"gitId":"sopa301"},"content":" \"tsserver\": \"bin/tsserver\"","isFullCredit":false},{"lineNumber":7222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7223,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.2.0\"","isFullCredit":false},{"lineNumber":7225,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7226,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7227,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint\": {","isFullCredit":false},{"lineNumber":7228,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7229,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":7230,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wZZ+7mTQJCn4mGAvzdERtL4vwKGM/mF9cMSMeKUllz3Hgbd1Mdd5L60Q+nJmCio9RB4OyMMr0EX4Ry2Q7jiAyw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7231,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7232,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7233,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7234,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7235,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"7.7.0\"","isFullCredit":false},{"lineNumber":7236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7237,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7238,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":7239,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7240,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7241,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7242,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":7243,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7244,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7245,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":7246,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7247,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7248,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":7249,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7250,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":7251,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7253,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":7254,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7255,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":7256,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":7257,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7258,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7259,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":7260,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":7261,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":7262,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7263,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7264,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":7265,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":7266,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7267,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7268,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":7269,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7270,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7271,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7272,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":7273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7274,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7275,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":7276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7278,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":7279,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":7280,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":7281,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":7282,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7283,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7284,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":7285,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7286,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7287,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7288,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7289,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7290,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/semver\": {","isFullCredit":false},{"lineNumber":7291,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":7292,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":7293,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":7294,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7295,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7296,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":7297,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7298,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7299,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":7300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7301,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7302,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7304,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7305,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":7306,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":7307,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":7308,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":7309,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":7310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7311,"author":{"gitId":"sopa301"},"content":" \"node_modules/uc.micro\": {","isFullCredit":false},{"lineNumber":7312,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":7313,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7314,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7315,"author":{"gitId":"sopa301"},"content":" \"node_modules/unbox-primitive\": {","isFullCredit":false},{"lineNumber":7316,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7317,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7318,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7319,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7320,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":7321,"author":{"gitId":"sopa301"},"content":" \"has-bigints\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":7322,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":7323,"author":{"gitId":"sopa301"},"content":" \"which-boxed-primitive\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":7324,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7325,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7326,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7327,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7329,"author":{"gitId":"sopa301"},"content":" \"node_modules/undici-types\": {","isFullCredit":false},{"lineNumber":7330,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.26.5\",","isFullCredit":false},{"lineNumber":7331,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz\",","isFullCredit":false},{"lineNumber":7332,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA\u003d\u003d\",","isFullCredit":false},{"lineNumber":7333,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true","isFullCredit":false},{"lineNumber":7334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7335,"author":{"gitId":"sopa301"},"content":" \"node_modules/update-browserslist-db\": {","isFullCredit":false},{"lineNumber":7336,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.10\",","isFullCredit":false},{"lineNumber":7337,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7338,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":7339,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":7340,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7341,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":7342,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7343,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":7344,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":7345,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"","isFullCredit":false},{"lineNumber":7346,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7347,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":7348,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7349,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7350,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7351,"author":{"gitId":"sopa301"},"content":" \"escalade\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":7352,"author":{"gitId":"sopa301"},"content":" \"picocolors\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7354,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7355,"author":{"gitId":"sopa301"},"content":" \"browserslist-lint\": \"cli.js\"","isFullCredit":false},{"lineNumber":7356,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7357,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7358,"author":{"gitId":"sopa301"},"content":" \"browserslist\": \"\u003e\u003d 4.21.0\"","isFullCredit":false},{"lineNumber":7359,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7361,"author":{"gitId":"sopa301"},"content":" \"node_modules/uri-js\": {","isFullCredit":false},{"lineNumber":7362,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.1\",","isFullCredit":false},{"lineNumber":7363,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7364,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":7365,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7366,"author":{"gitId":"sopa301"},"content":" \"punycode\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":7367,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7369,"author":{"gitId":"sopa301"},"content":" \"node_modules/util-deprecate\": {","isFullCredit":false},{"lineNumber":7370,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7372,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7373,"author":{"gitId":"sopa301"},"content":" \"node_modules/vite\": {","isFullCredit":false},{"lineNumber":7374,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.10\",","isFullCredit":false},{"lineNumber":7375,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.2.10.tgz\",","isFullCredit":false},{"lineNumber":7376,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7377,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7378,"author":{"gitId":"sopa301"},"content":" \"esbuild\": \"^0.20.1\",","isFullCredit":false},{"lineNumber":7379,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":7380,"author":{"gitId":"sopa301"},"content":" \"rollup\": \"^4.13.0\"","isFullCredit":false},{"lineNumber":7381,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7382,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7383,"author":{"gitId":"sopa301"},"content":" \"vite\": \"bin/vite.js\"","isFullCredit":false},{"lineNumber":7384,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7385,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7386,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.0.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":7387,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7388,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7389,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/vitejs/vite?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":7390,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7391,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":7392,"author":{"gitId":"sopa301"},"content":" \"fsevents\": \"~2.3.3\"","isFullCredit":false},{"lineNumber":7393,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7394,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7395,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"^18.0.0 || \u003e\u003d20.0.0\",","isFullCredit":false},{"lineNumber":7396,"author":{"gitId":"sopa301"},"content":" \"less\": \"*\",","isFullCredit":false},{"lineNumber":7397,"author":{"gitId":"sopa301"},"content":" \"lightningcss\": \"^1.21.0\",","isFullCredit":false},{"lineNumber":7398,"author":{"gitId":"sopa301"},"content":" \"sass\": \"*\",","isFullCredit":false},{"lineNumber":7399,"author":{"gitId":"sopa301"},"content":" \"stylus\": \"*\",","isFullCredit":false},{"lineNumber":7400,"author":{"gitId":"sopa301"},"content":" \"sugarss\": \"*\",","isFullCredit":false},{"lineNumber":7401,"author":{"gitId":"sopa301"},"content":" \"terser\": \"^5.4.0\"","isFullCredit":false},{"lineNumber":7402,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7403,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7404,"author":{"gitId":"sopa301"},"content":" \"@types/node\": {","isFullCredit":false},{"lineNumber":7405,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7406,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7407,"author":{"gitId":"sopa301"},"content":" \"less\": {","isFullCredit":false},{"lineNumber":7408,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7409,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7410,"author":{"gitId":"sopa301"},"content":" \"lightningcss\": {","isFullCredit":false},{"lineNumber":7411,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7412,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7413,"author":{"gitId":"sopa301"},"content":" \"sass\": {","isFullCredit":false},{"lineNumber":7414,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7415,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7416,"author":{"gitId":"sopa301"},"content":" \"stylus\": {","isFullCredit":false},{"lineNumber":7417,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7418,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7419,"author":{"gitId":"sopa301"},"content":" \"sugarss\": {","isFullCredit":false},{"lineNumber":7420,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7422,"author":{"gitId":"sopa301"},"content":" \"terser\": {","isFullCredit":false},{"lineNumber":7423,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7424,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7425,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7426,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7427,"author":{"gitId":"sopa301"},"content":" \"node_modules/vite-plugin-eslint2\": {","isFullCredit":false},{"lineNumber":7428,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.0\",","isFullCredit":false},{"lineNumber":7429,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vite-plugin-eslint2/-/vite-plugin-eslint2-4.4.0.tgz\",","isFullCredit":false},{"lineNumber":7430,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xy5G4Gj18ke1bO5OS0zgyunkPvPy/vSLJFTyMpGmKGKTlYuuhPad3Xy1PWLuqRMoWnuCoFMf2ST1EGhz89uqrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":7431,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7432,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7433,"author":{"gitId":"sopa301"},"content":" \"@rollup/pluginutils\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":7434,"author":{"gitId":"sopa301"},"content":" \"chokidar\": \"^3.6.0\",","isFullCredit":false},{"lineNumber":7435,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\"","isFullCredit":false},{"lineNumber":7436,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7437,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7438,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18\"","isFullCredit":false},{"lineNumber":7439,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7440,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7441,"author":{"gitId":"sopa301"},"content":" \"@types/eslint\": \"^7.0.0 || ^8.0.0 || ^9.0.0-0\",","isFullCredit":false},{"lineNumber":7442,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0 || ^9.0.0-0\",","isFullCredit":false},{"lineNumber":7443,"author":{"gitId":"sopa301"},"content":" \"rollup\": \"^2.0.0 || ^3.0.0 || ^4.0.0\",","isFullCredit":false},{"lineNumber":7444,"author":{"gitId":"sopa301"},"content":" \"vite\": \"^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":7445,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7446,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7447,"author":{"gitId":"sopa301"},"content":" \"rollup\": {","isFullCredit":false},{"lineNumber":7448,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7449,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":7450,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7451,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7452,"author":{"gitId":"sopa301"},"content":" \"node_modules/vite-plugin-stylelint\": {","isFullCredit":false},{"lineNumber":7453,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.1\",","isFullCredit":false},{"lineNumber":7454,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vite-plugin-stylelint/-/vite-plugin-stylelint-5.3.1.tgz\",","isFullCredit":false},{"lineNumber":7455,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M/hSdfOwnOVghbJDeuuYIU2xO/MMukYR8QcEyNKFPG8ro1L+DlTdViix2B2d/FvAw14WPX88ckA5A7NvUjJz8w\u003d\u003d\",","isFullCredit":false},{"lineNumber":7456,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7457,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7458,"author":{"gitId":"sopa301"},"content":" \"@rollup/pluginutils\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":7459,"author":{"gitId":"sopa301"},"content":" \"chokidar\": \"^3.5.3\",","isFullCredit":false},{"lineNumber":7460,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\"","isFullCredit":false},{"lineNumber":7461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7462,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7463,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.18\"","isFullCredit":false},{"lineNumber":7464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7465,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7466,"author":{"gitId":"sopa301"},"content":" \"@types/stylelint\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":7467,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^7.0.0 || ^8.0.0\",","isFullCredit":false},{"lineNumber":7468,"author":{"gitId":"sopa301"},"content":" \"rollup\": \"^2.0.0 || ^3.0.0 || ^4.0.0\",","isFullCredit":false},{"lineNumber":7469,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0\",","isFullCredit":false},{"lineNumber":7470,"author":{"gitId":"sopa301"},"content":" \"vite\": \"^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":7471,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7472,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7473,"author":{"gitId":"sopa301"},"content":" \"@types/stylelint\": {","isFullCredit":false},{"lineNumber":7474,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7476,"author":{"gitId":"sopa301"},"content":" \"postcss\": {","isFullCredit":false},{"lineNumber":7477,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7479,"author":{"gitId":"sopa301"},"content":" \"rollup\": {","isFullCredit":false},{"lineNumber":7480,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7481,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":7482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7483,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7484,"author":{"gitId":"sopa301"},"content":" \"node_modules/void-elements\": {","isFullCredit":false},{"lineNumber":7485,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":7486,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7487,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7488,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7489,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":7490,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7491,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7492,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue\": {","isFullCredit":false},{"lineNumber":7493,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":7494,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7495,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7496,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":7497,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"3.4.21\",","isFullCredit":false},{"lineNumber":7498,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":7499,"author":{"gitId":"sopa301"},"content":" \"@vue/server-renderer\": \"3.4.21\",","isFullCredit":false},{"lineNumber":7500,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":7501,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7502,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7503,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"*\"","isFullCredit":false},{"lineNumber":7504,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7505,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7506,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":7507,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7508,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7509,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7510,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7511,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser\": {","isFullCredit":false},{"lineNumber":7512,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.4.2\",","isFullCredit":false},{"lineNumber":7513,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz\",","isFullCredit":false},{"lineNumber":7514,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":7515,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7516,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7517,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":7518,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":7519,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\",","isFullCredit":false},{"lineNumber":7520,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.3.1\",","isFullCredit":false},{"lineNumber":7521,"author":{"gitId":"sopa301"},"content":" \"esquery\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":7522,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":7523,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.6\"","isFullCredit":false},{"lineNumber":7524,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7525,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7526,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":7527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7528,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7529,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\"","isFullCredit":false},{"lineNumber":7530,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7531,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7532,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":7533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7535,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":7536,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\",","isFullCredit":false},{"lineNumber":7537,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",","isFullCredit":false},{"lineNumber":7538,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg\u003d\u003d\",","isFullCredit":false},{"lineNumber":7539,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7540,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7541,"author":{"gitId":"sopa301"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":7542,"author":{"gitId":"sopa301"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":7543,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7544,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7545,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":7546,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7547,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7548,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":7549,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7550,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7551,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":7552,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":7553,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":7554,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":7555,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7556,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7557,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":7558,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7559,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7560,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":7561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7563,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":7564,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":7565,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",","isFullCredit":false},{"lineNumber":7566,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA\u003d\u003d\",","isFullCredit":false},{"lineNumber":7567,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7568,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7569,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":7570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7571,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7572,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":7573,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":7574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":7575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":7576,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7577,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7578,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":7579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7580,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7581,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7582,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7584,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/semver\": {","isFullCredit":false},{"lineNumber":7585,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":7586,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":7587,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":7588,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7589,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7590,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":7591,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7592,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7593,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":7594,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7595,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7596,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7597,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7598,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7599,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-eslint-parser/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":7600,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":7601,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":7602,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":7603,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":7604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7605,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-loading-overlay\": {","isFullCredit":false},{"lineNumber":7606,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\",","isFullCredit":false},{"lineNumber":7607,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7608,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7609,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12.13.0\"","isFullCredit":false},{"lineNumber":7610,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7611,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7612,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":7613,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7614,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7615,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-observe-visibility\": {","isFullCredit":false},{"lineNumber":7616,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":7617,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7619,"author":{"gitId":"sopa301"},"content":" \"node_modules/vue-router\": {","isFullCredit":false},{"lineNumber":7620,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":7621,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7622,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7623,"author":{"gitId":"sopa301"},"content":" \"@vue/devtools-api\": \"^6.5.1\"","isFullCredit":false},{"lineNumber":7624,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7625,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7626,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/posva\"","isFullCredit":false},{"lineNumber":7627,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7628,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7629,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":7630,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7631,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7632,"author":{"gitId":"sopa301"},"content":" \"node_modules/vuex\": {","isFullCredit":false},{"lineNumber":7633,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":7634,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7635,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7636,"author":{"gitId":"-"},"content":" \"@vue/devtools-api\": \"^6.0.0-beta.11\"","isFullCredit":false},{"lineNumber":7637,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7638,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7639,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":7640,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7642,"author":{"gitId":"sopa301"},"content":" \"node_modules/walk\": {","isFullCredit":false},{"lineNumber":7643,"author":{"gitId":"-"},"content":" \"version\": \"2.3.15\",","isFullCredit":false},{"lineNumber":7644,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR Apache-2.0)\",","isFullCredit":false},{"lineNumber":7645,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7646,"author":{"gitId":"-"},"content":" \"foreachasync\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":7647,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7648,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7649,"author":{"gitId":"sopa301"},"content":" \"node_modules/watchpack\": {","isFullCredit":false},{"lineNumber":7650,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":7651,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7652,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7653,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7654,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7655,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":7656,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.2\"","isFullCredit":false},{"lineNumber":7657,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7658,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7659,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":7660,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7661,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7662,"author":{"gitId":"sopa301"},"content":" \"node_modules/webpack\": {","isFullCredit":false},{"lineNumber":7663,"author":{"gitId":"-"},"content":" \"version\": \"5.76.2\",","isFullCredit":false},{"lineNumber":7664,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7665,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7666,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7667,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7668,"author":{"gitId":"-"},"content":" \"@types/eslint-scope\": \"^3.7.3\",","isFullCredit":false},{"lineNumber":7669,"author":{"gitId":"-"},"content":" \"@types/estree\": \"^0.0.51\",","isFullCredit":false},{"lineNumber":7670,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":7671,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-edit\": \"1.11.1\",","isFullCredit":false},{"lineNumber":7672,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":7673,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.7.1\",","isFullCredit":false},{"lineNumber":7674,"author":{"gitId":"-"},"content":" \"acorn-import-assertions\": \"^1.7.6\",","isFullCredit":false},{"lineNumber":7675,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.14.5\",","isFullCredit":false},{"lineNumber":7676,"author":{"gitId":"-"},"content":" \"chrome-trace-event\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":7677,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.10.0\",","isFullCredit":false},{"lineNumber":7678,"author":{"gitId":"-"},"content":" \"es-module-lexer\": \"^0.9.0\",","isFullCredit":false},{"lineNumber":7679,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\",","isFullCredit":false},{"lineNumber":7680,"author":{"gitId":"-"},"content":" \"events\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":7681,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":7682,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.9\",","isFullCredit":false},{"lineNumber":7683,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":7684,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":7685,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.27\",","isFullCredit":false},{"lineNumber":7686,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\",","isFullCredit":false},{"lineNumber":7687,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":7688,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":7689,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.3\",","isFullCredit":false},{"lineNumber":7690,"author":{"gitId":"-"},"content":" \"watchpack\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":7691,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"^3.2.3\"","isFullCredit":false},{"lineNumber":7692,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7693,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7694,"author":{"gitId":"sopa301"},"content":" \"webpack\": \"bin/webpack.js\"","isFullCredit":false},{"lineNumber":7695,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7696,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7697,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":7698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7699,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7700,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7701,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":7702,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7703,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7704,"author":{"gitId":"sopa301"},"content":" \"webpack-cli\": {","isFullCredit":false},{"lineNumber":7705,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7706,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7707,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7708,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7709,"author":{"gitId":"sopa301"},"content":" \"node_modules/webpack-sources\": {","isFullCredit":false},{"lineNumber":7710,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.3\",","isFullCredit":false},{"lineNumber":7711,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7712,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7713,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7714,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7715,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":7716,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7717,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7718,"author":{"gitId":"sopa301"},"content":" \"node_modules/webpack/node_modules/@types/estree\": {","isFullCredit":false},{"lineNumber":7719,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.51\",","isFullCredit":false},{"lineNumber":7720,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7721,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7722,"author":{"gitId":"sopa301"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":7723,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7724,"author":{"gitId":"sopa301"},"content":" \"node_modules/webpack/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":7725,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":7726,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7727,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7728,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7729,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7730,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":7731,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":7732,"author":{"gitId":"sopa301"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":7733,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7734,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7735,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":7736,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7737,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7738,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7739,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":7740,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7741,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7742,"author":{"gitId":"sopa301"},"content":" \"node_modules/webpack/node_modules/tapable\": {","isFullCredit":false},{"lineNumber":7743,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":7744,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7745,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7746,"author":{"gitId":"sopa301"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":7747,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7748,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":7749,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7751,"author":{"gitId":"sopa301"},"content":" \"node_modules/which\": {","isFullCredit":false},{"lineNumber":7752,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":7753,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7754,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7755,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7756,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7757,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7758,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7759,"author":{"gitId":"sopa301"},"content":" \"node-which\": \"bin/node-which\"","isFullCredit":false},{"lineNumber":7760,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7761,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7762,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":7763,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7765,"author":{"gitId":"sopa301"},"content":" \"node_modules/which-boxed-primitive\": {","isFullCredit":false},{"lineNumber":7766,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7767,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7768,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7769,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7770,"author":{"gitId":"-"},"content":" \"is-bigint\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7771,"author":{"gitId":"-"},"content":" \"is-boolean-object\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":7772,"author":{"gitId":"-"},"content":" \"is-number-object\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":7773,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":7774,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":7775,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7776,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7777,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7778,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7780,"author":{"gitId":"sopa301"},"content":" \"node_modules/which-typed-array\": {","isFullCredit":false},{"lineNumber":7781,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.15\",","isFullCredit":false},{"lineNumber":7782,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7783,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7784,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7785,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7786,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":7787,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":7788,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7789,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":7790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7791,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7792,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7793,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7794,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7795,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7798,"author":{"gitId":"sopa301"},"content":" \"node_modules/with\": {","isFullCredit":false},{"lineNumber":7799,"author":{"gitId":"-"},"content":" \"version\": \"7.0.2\",","isFullCredit":false},{"lineNumber":7800,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7801,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7802,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7803,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.9.6\",","isFullCredit":false},{"lineNumber":7804,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\",","isFullCredit":false},{"lineNumber":7805,"author":{"gitId":"-"},"content":" \"assert-never\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":7806,"author":{"gitId":"-"},"content":" \"babel-walk\": \"3.0.0-canary-5\"","isFullCredit":false},{"lineNumber":7807,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7808,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7809,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":7810,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7811,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7812,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrappy\": {","isFullCredit":false},{"lineNumber":7813,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7814,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":7815,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7816,"author":{"gitId":"sopa301"},"content":" \"node_modules/write-file-atomic\": {","isFullCredit":false},{"lineNumber":7817,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":7818,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":7819,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7820,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7821,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7822,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":7823,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":7824,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7825,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7826,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || ^16.13.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":7827,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7828,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7829,"author":{"gitId":"sopa301"},"content":" \"node_modules/write-file-atomic/node_modules/signal-exit\": {","isFullCredit":false},{"lineNumber":7830,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":7831,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":7832,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7833,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7834,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7835,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\"","isFullCredit":false},{"lineNumber":7836,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7837,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7838,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":7839,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7840,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7841,"author":{"gitId":"sopa301"},"content":" \"node_modules/xml-name-validator\": {","isFullCredit":false},{"lineNumber":7842,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":7843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":7844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7845,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7846,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7847,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":7848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7850,"author":{"gitId":"sopa301"},"content":" \"node_modules/yocto-queue\": {","isFullCredit":false},{"lineNumber":7851,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":7852,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7854,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7855,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7856,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":7857,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7858,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7859,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7861,"author":{"gitId":"sopa301"},"content":" \"node_modules/zod\": {","isFullCredit":false},{"lineNumber":7862,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.22.4\",","isFullCredit":false},{"lineNumber":7863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7864,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7865,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/colinhacks\"","isFullCredit":false},{"lineNumber":7866,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":7867,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7868,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7869,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":4924,"-":2945}},{"path":"frontend/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"[![Build Status](https://travis-ci.org/reposense/RepoSense.svg?branch\u003dmaster)](https://travis-ci.org/reposense/RepoSense) [![Build status](https://ci.appveyor.com/api/projects/status/gsbkj5qby3pjd6nw/branch/master?svg\u003dtrue)](https://ci.appveyor.com/project/eugenepeh/reposense/branch/master)\",","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"author\": \"\",","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"scripts\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"serve\": \"vite\",","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"build\": \"vite build\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"lint\": \"eslint src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint ./src/**/*.{vue,scss} \u0026\u0026 npm run puglint\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" \"devbuild\": \"vite build --mode development\",","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint --fix src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint --fix ./src/**/*.{vue,scss}\",","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"puglint\": \"pug-lint-vue src\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"serveOpen\": \"vite --open\"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"main\": \"index.js\",","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"@vitejs/plugin-vue\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\",","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"vite\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\",","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin\": \"^1.7.0\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"^20.12.4\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@vue/eslint-config-typescript\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\",","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^18.0.0\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\",","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\",","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\",","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"~4.9.5\",","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"typescript-eslint\": \"^7.3.1\",","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"vite-plugin-eslint2\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"vite-plugin-stylelint\": \"^5.3.1\"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"bugs\": {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/reposense/RepoSense/issues\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"directories\": {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"doc\": \"docs\"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"homepage\": \"https://github.com/reposense/RepoSense#readme\",","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"repository\": {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"type\": \"git\",","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"url\": \"git+https://github.com/reposense/RepoSense.git\"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":40,"-":39}},{"path":"frontend/public/title.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"# RepoSense","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":"RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members.","isFullCredit":false}],"authorContributionMap":{"sopa301":3}},{"path":"frontend/src/styles/summary-chart.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@import \u0027colors\u0027;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"@import \u0027z-indices\u0027;","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"/* Summary */","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"#summary {","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .summary-status {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" text-align: center;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" @mixin icon-button-config {","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" padding: 0 1.2px 0 1.2px;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" text-decoration: none;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .icon-button {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" @include icon-button-config;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cursor: pointer;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .broken-link {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .icon-button {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cursor: default;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .summary-picker {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" flex-flow: row wrap;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" justify-content: center;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" margin-bottom: 2rem;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u0026__section {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" align-items: inherit;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" flex: 0 1 auto;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" flex-flow: inherit;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" justify-content: inherit;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u0026__checkboxes {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" label {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" margin-left: .5rem;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" span {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" margin-left: .25rem;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .mui-textfield,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .mui-select {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" margin: .5rem;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" padding-right: 10px;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .mui-btn {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" background: transparent;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" box-shadow: none;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" left: -8px;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" margin: 0;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" padding: 0;","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" vertical-align: middle;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .search_box {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" input {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-right: 10px;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" label {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: hidden;","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" width: fit-content;","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" input,","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" select {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .summary-charts {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" margin-bottom: 1.4rem;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u0026__title {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" flex-wrap: wrap;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u0026 \u003e * {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" padding-right: .5rem;","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u0026--index {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" background: mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" overflow: hidden;","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" padding: .1em .25em;","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" vertical-align: middle;","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" @include medium-font;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u0026--groupname {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" @include medium-font;","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: .5rem;","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u0026--percentile {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" margin-left: auto;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u0026--contribution {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" display: inline;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" \u0026--tags {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" margin: .25rem 0;","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u0026__fileType--breakdown {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" overflow-y: hidden;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u0026__legend {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" display: inline;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" float: left;","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .summary-chart {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" display: inline-block;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" margin-bottom: 1rem;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" position: relative;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" width: 100%;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u0026__title {","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" clear: left;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u0026 \u003e * {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" padding-right: .5rem;","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u0026--index {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" margin-left: 3px;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u0026--repo {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u0026--index::after {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" content: \u0027.\u0027;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u0026--repo {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" padding-right: .25rem;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" \u0026--contribution {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u0026--percentile {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" margin-left: auto;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" padding-right: 0;","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u0026__ramp {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" position: relative;","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .overlay {","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" height: 100%;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" position: absolute;","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" top: 0;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026.show {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" background-color: rgba(mui-color(\u0027white\u0027), .5);","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" border: 1px dashed mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u0026.edge {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" border-right: 1px dashed mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .active-icon {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" background-color: mui-color(\u0027green\u0027);","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" border-radius: 2px;","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .active-background {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" background-color: mui-color(\u0027yellow\u0027, \u0027200\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":216,"jonasongg":5}},{"path":"frontend/src/styles/tags.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"@import \u0027colors\u0027;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":"/* Tags in commits */","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":".tag {","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" background: mui-color(\u0027grey\u0027, \u0027600\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" border-radius: 5px;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" display: inline-block;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" margin: .2rem .2rem .2rem 0;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" padding: 0 3px 0 3px;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" .fa-tags {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" width: .65rem;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" }","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":"}","isFullCredit":false}],"authorContributionMap":{"jonasongg":16}},{"path":"src/main/java/reposense/RepoSense.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.git.GitConfig;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.system.ReportServer;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * The main RepoSense class.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"public class RepoSense {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoSense.class);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int SERVER_PORT_NUMBER \u003d 9000;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"E MMM d HH:mm:ss yyyy z\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String VERSION_UNSPECIFIED \u003d \"unspecified\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * The entry point of the program.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Additional flags are provided by the user in {@code args}.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" TimeUtil.startTimer();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(args);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d null;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (cliArguments.isViewModeOnly()) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getReportDirectoryPath().toAbsolutePath());","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" configs \u003d RunConfigurationDecider.getRunConfiguration(cliArguments).getRepoConfigurations();","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" reportConfig \u003d cliArguments.getReportConfiguration();","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap \u003d cliArguments.getBlurbMap();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(configs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" RepoConfiguration.setDatesToRepoConfigs(configs, cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" RepoConfiguration.setZoneIdToRepoConfigs(configs, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsLastModifiedDateIncludedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cliArguments.isLastModifiedDateIncluded());","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e globalGitConfig \u003d GitConfig.getGlobalGitLfsConfig();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" if (globalGitConfig.size() !\u003d 0) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(GitConfig.SKIP_SMUDGE_CONFIG_SETTINGS);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" ReportGenerator reportGenerator \u003d new ReportGenerator();","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d reportGenerator.generateReposReport(configs,","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().toAbsolutePath().toString(),","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" cliArguments.getAssetsFilePath().toAbsolutePath().toString(), reportConfig,","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" formatter.format(ZonedDateTime.now(cliArguments.getZoneId())),","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cliArguments.getSinceDate(), cliArguments.getUntilDate(),","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cliArguments.isSinceDateProvided(), cliArguments.isUntilDateProvided(),","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" cliArguments.getNumCloningThreads(), cliArguments.getNumAnalysisThreads(),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" TimeUtil::getElapsedTime, cliArguments.getZoneId(), cliArguments.isFreshClonePerformed(),","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" cliArguments.isAuthorshipAnalyzed(), cliArguments.getOriginalityThreshold(),","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" FileUtil.zipFoldersAndFiles(reportFoldersAndFiles, cliArguments.getOutputFilePath().toAbsolutePath(),","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" \".json\");","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" // Set back to user\u0027s initial global git lfs config","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(globalGitConfig);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" logger.info(TimeUtil.getElapsedTimeMessage());","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (cliArguments.isAutomaticallyLaunching()) {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getOutputFilePath().toAbsolutePath());","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" } catch (IOException | ParseException | InvalidCsvException | InvalidHeaderException e) {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" } catch (HelpScreenException e) {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // help message was printed by the ArgumentParser; it is safe to exit.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" } catch (InvalidMarkdownException ex) {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.SEVERE, ex.getMessage(), ex);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" LogsManager.moveLogFileToOutputFolder();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public static String getVersion() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" String version \u003d RepoSense.class.getPackage().getImplementationVersion();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (version \u003d\u003d null || version.equals(VERSION_UNSPECIFIED)) {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" version \u003d System.getProperty(\"version\");","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" return version;","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12,"-":110}},{"path":"src/main/java/reposense/authorship/FileInfoAnalyzer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AnnotatorAnalyzer;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AuthorshipAnalyzer;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Analyzes the target and information given in the {@link FileInfo}.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"public class FileInfoAnalyzer {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoAnalyzer.class);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int AUTHOR_NAME_OFFSET \u003d \"author \".length();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int AUTHOR_EMAIL_OFFSET \u003d \"author-mail \".length();","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIME_OFFSET \u003d \"author-time \".length();","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIMEZONE_OFFSET \u003d \"author-tz \".length();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int FULL_COMMIT_HASH_LENGTH \u003d 40;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_MISSING \u003d \"Unable to analyze the file located at \\\"%s\\\" \"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"as the file is missing from your system. Skipping this file.\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT \u003d \"Repo %s was cloned using \"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"shallow cloning. As such, the \\\"last modified date\\\" values may be incorrect.\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Analyzes the lines of the file, given in the {@code fileInfo}, that has changed in the time period provided","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * by {@code config}.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public FileResult analyzeTextFile(RepoConfiguration config, FileInfo fileInfo, boolean shouldAnalyzeAuthorship,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" double originalityThreshold) {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (FileUtil.isEmptyFile(config.getRepoRoot(), relativePath)) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" aggregateBlameAuthorModifiedAndDateInfo(config, fileInfo, shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" AnnotatorAnalyzer.aggregateAnnotationAuthorInfo(fileInfo, config.getAuthorConfig(), shouldAnalyzeAuthorship);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (!config.getAuthorList().isEmpty() \u0026\u0026 fileInfo.isAllAuthorsIgnored(config.getAuthorList())) {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return generateTextFileResult(fileInfo);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Analyzes the binary file, given in the {@code fileInfo}, that has changed in the time period provided","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" * by {@code config}.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public FileResult analyzeBinaryFile(RepoConfiguration config, FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" return generateBinaryFileResult(config, fileInfo);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from {@code fileInfo} consolidated.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" private FileResult generateTextFileResult(FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" for (LineInfo line : fileInfo.getLines()) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" Author author \u003d line.getAuthor();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, authorContributionMap.getOrDefault(author, 0) + 1);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" return FileResult.createTextFileResult(fileInfo.getPath(), fileInfo.getFileType(), fileInfo.getLines(),","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" authorContributionMap, fileInfo.exceedsFileLimit());","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from binary {@code fileInfo} consolidated.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Authorship results are indicated in the {@code authorContributionMap} as contributions with zero line counts.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns {@code null} if none of the {@link Author} specified in {@code config} contributed to the file in","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * {@code fileInfo}.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" private FileResult generateBinaryFileResult(RepoConfiguration config, FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e authorsString \u003d GitLog.getFileAuthors(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" if (authorsString.size() \u003d\u003d 0) {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" Set\u003cAuthor\u003e authors \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" for (String[] lineDetails : authorsString) {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" String authorName \u003d lineDetails[0];","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" String authorEmail \u003d lineDetails[1];","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" authors.add(config.getAuthor(authorName, authorEmail));","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" for (Author author : authors) {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, 0);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" return FileResult.createBinaryFileResult(fileInfo.getPath(), fileInfo.getFileType(), authorContributionMap);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Sets the {@link Author} and {@link LocalDateTime} for each line in {@code fileInfo} based on the git blame","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" * analysis of the file.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * The {@code config} is used to obtain the root directory for running git blame as well as other parameters used","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * in determining which author to assign to each line and whether to set the last modified date for a","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code lineInfo}.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" private void aggregateBlameAuthorModifiedAndDateInfo(RepoConfiguration config, FileInfo fileInfo,","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean shouldAnalyzeAuthorship, double originalityThreshold) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" String blameResults;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" if (!config.isFindingPreviousAuthorsPerformed()) {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameResult(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameWithPreviousAuthorsResult(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" String[] blameResultLines \u003d StringsUtil.NEWLINE.split(blameResults);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Path filePath \u003d Paths.get(fileInfo.getPath());","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate \u003d config.getSinceDate();","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" LocalDateTime untilDate \u003d config.getUntilDate();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" for (int lineCount \u003d 0; lineCount \u003c blameResultLines.length; lineCount +\u003d 5) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" String commitHash \u003d blameResultLines[lineCount].substring(0, FULL_COMMIT_HASH_LENGTH);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" String authorName \u003d blameResultLines[lineCount + 1].substring(AUTHOR_NAME_OFFSET);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String authorEmail \u003d blameResultLines[lineCount + 2]","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .substring(AUTHOR_EMAIL_OFFSET).replaceAll(\"\u003c|\u003e\", \"\");","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" long commitDateInMs \u003d Long.parseLong(blameResultLines[lineCount + 3].substring(AUTHOR_TIME_OFFSET)) * 1000;","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" LocalDateTime commitDate \u003d LocalDateTime.ofInstant(Instant.ofEpochMilli(commitDateInMs),","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" config.getZoneId());","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" Author author \u003d config.getAuthor(authorName, authorEmail);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" int lineNumber \u003d lineCount / 5;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (!fileInfo.isFileLineTracked(lineNumber) || author.isIgnoringFile(filePath)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" || CommitHash.isInsideCommitList(commitHash, config.getIgnoreCommitList())","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" || commitDate.isBefore(sinceDate) || commitDate.isAfter(untilDate)) {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" author \u003d Author.UNKNOWN_AUTHOR;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (config.isLastModifiedDateIncluded()) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" if (config.isShallowCloningPerformed()) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT, config.getRepoName()));","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" fileInfo.setLineLastModifiedDate(lineNumber, commitDate);","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" fileInfo.setLineAuthor(lineNumber, author);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" if (shouldAnalyzeAuthorship \u0026\u0026 !author.equals(Author.UNKNOWN_AUTHOR)) {","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" String lineContent \u003d fileInfo.getLine(lineNumber + 1).getContent();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isFullCredit \u003d AuthorshipAnalyzer.analyzeAuthorship(config, fileInfo.getPath(), lineContent,","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" commitHash, author, originalityThreshold);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" fileInfo.setIsFullCredit(lineNumber, isFullCredit);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame on {@code filePath} with reference to the root directory","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" * given in {@code config}.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" private String getGitBlameResult(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" return GitBlame.blame(config.getRepoRoot(), filePath);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame with finding previous authors enabled on {@code filePath}","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" * with reference to the root directory given in {@code config}.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" private String getGitBlameWithPreviousAuthorsResult(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" return GitBlame.blameWithPreviousAuthors(config.getRepoRoot(), filePath);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":213}},{"path":"src/main/java/reposense/authorship/FileInfoExtractor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.InvalidPathException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Comparator;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitDiff;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Extracts out all the relevant {@code FileInfo} from the repository.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"public class FileInfoExtractor {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoExtractor.class);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_EXTRACTING_FILE_INFO \u003d \"Extracting relevant file info from %s (%s)...\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_FILE_PATH \u003d \"\\\"%s\\\" is an invalid file path for current OS or \"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" + \"indicates a possible regex match issue. Skipping this directory.\";","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_SIZE_LIMIT_EXCEEDED \u003d \"File \\\"%s\\\" has %dB size. The file size \"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"limit is set at %dB. %s\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_ANALYSIS_SKIPPED \u003d \"Skipping analysis of this file...\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_EXCLUDED_FROM_REPORT \u003d \"Exact line diffs will be excluded from report...\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String DIFF_FILE_CHUNK_SEPARATOR \u003d \"\\ndiff --git \\\"?\\\u0027?a/.*\\n\";","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String LINE_CHUNKS_SEPARATOR \u003d \"\\n@@ \";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final String LINE_INSERTED_SYMBOL \u003d \"+\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String STARTING_LINE_NUMBER_GROUP_NAME \u003d \"startingLineNumber\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String FILE_CHANGED_GROUP_NAME \u003d \"filePath\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String FILE_DELETED_SYMBOL \u003d \"dev/null\";","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MATCH_GROUP_FAIL_MESSAGE_FORMAT \u003d \"Failed to match the %s group for:\\n%s\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String BINARY_FILE_LINE_DIFF_RESULT \u003d \"-\\t-\\t\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final int LINE_CHANGED_HEADER_INDEX \u003d 0;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Pattern STARTING_LINE_NUMBER_PATTERN \u003d Pattern.compile(","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"-(\\\\d)+(,)?(\\\\d)* \\\\+(?\u003cstartingLineNumber\u003e\\\\d+)(,)?(\\\\d)* @@\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Pattern FILE_CHANGED_PATTERN \u003d Pattern.compile(\"\\n(\\\\+){3} b?/(?\u003cfilePath\u003e.*?)\\t?\\n\");","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Extracts a list of relevant non-binary files given in {@code config}.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractTextFileInfos(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_START_EXTRACTING_FILE_INFO, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // checks out to the latest commit of the date range to ensure the FileInfo generated correspond to the","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" // git blame file analyze output","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitCheckout.checkoutDate(config.getRepoRoot(), config.getBranch(), config.getUntilDate(),","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" config.getZoneId());","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException cnfe) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" String lastCommitHash \u003d GitRevList.getCommitHashUntilDate(","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getBranch(), config.getSinceDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" fileInfos \u003d (lastCommitHash.isEmpty())","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" ? getAllFileInfo(config, false)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" : getEditedFileInfos(config, lastCommitHash);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" fileInfos.sort(Comparator.comparing(FileInfo::getPath));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Extracts a list of relevant binary files given in {@code config}.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractBinaryFileInfos(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e binaryFileInfos \u003d getAllFileInfo(config, true);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" binaryFileInfos.sort(Comparator.comparing(FileInfo::getPath));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" return binaryFileInfos;","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Returns a list of {@link FileInfo}s for all files in the repo with lines marked indicating if they were edited","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * in between the current commit and the commit given by {@code lastCommitHash}.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * The repo is given by {@code config}.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e getEditedFileInfos(RepoConfiguration config, String lastCommitHash) {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" String fullDiffResult \u003d GitDiff.diffCommit(config.getRepoRoot(), lastCommitHash);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // no diff between the 2 commits, return an empty list","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (fullDiffResult.isEmpty()) {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" String[] fileDiffResultList \u003d fullDiffResult.split(DIFF_FILE_CHUNK_SEPARATOR);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e textFilesSet \u003d getFiles(config, false);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" for (String fileDiffResult : fileDiffResultList) {","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Matcher filePathMatcher \u003d FILE_CHANGED_PATTERN.matcher(fileDiffResult);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" // diff result does not have the markers to indicate that file has any line changes, skip it","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (!filePathMatcher.find()) {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" String filePath \u003d filePathMatcher.group(FILE_CHANGED_GROUP_NAME);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (filePath.equals(FILE_DELETED_SYMBOL) // file is deleted, skip it as well","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" || !isValidTextFile(filePath, textFilesSet)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" || !config.getFileTypeManager().isInsideWhitelistedFormats(filePath)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, Paths.get(filePath))) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" FileInfo currentFileInfo \u003d generateFileInfo(config, filePath);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" setLinesToTrack(currentFileInfo, fileDiffResult);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (currentFileInfo.isFileAnalyzed()) {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" fileInfos.add(currentFileInfo);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Returns a {@link Set} of non-binary files for the repo {@code repoConfig}","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" * if {@code isBinaryFiles} is set to `false`.","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Otherwise, returns a {@link Set} of binary files for the repo {@code repoConfig}.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Set\u003cPath\u003e getFiles(RepoConfiguration repoConfig, boolean isBinaryFile) {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" List\u003cString\u003e modifiedFileList \u003d GitDiff.getModifiedFilesList(Paths.get(repoConfig.getRepoRoot()));","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" // Gets rid of files with invalid directory name and filters by the {@code isBinaryFile} flag","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" return modifiedFileList.stream()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .filter(file -\u003e isBinaryFile \u003d\u003d file.startsWith(BINARY_FILE_LINE_DIFF_RESULT))","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .map(file -\u003e StringsUtil.TAB.split(file)[2])","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .filter(FileUtil::isValidPathWithLogging)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" .map(Paths::get)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .collect(Collectors.toCollection(HashSet::new));","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Analyzes the {@code fileDiffResult} and marks each {@link LineInfo} in {@code fileInfo} on whether they were","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * inserted in between the commit range.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void setLinesToTrack(FileInfo fileInfo, String fileDiffResult) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" String[] linesChangedChunk \u003d fileDiffResult.split(LINE_CHUNKS_SEPARATOR);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lineInfos \u003d fileInfo.getLines();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" int fileLinePointer \u003d 0;","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" for (int sectionIndex \u003d 1; sectionIndex \u003c linesChangedChunk.length; sectionIndex++) {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String linesChangedInSection \u003d linesChangedChunk[sectionIndex];","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":" String[] linesChanged \u003d StringsUtil.NEWLINE.split(linesChangedInSection);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" int startingLineNumber \u003d getStartingLineNumber(linesChanged[LINE_CHANGED_HEADER_INDEX]);","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" // mark all untouched lines between sections as untracked","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c startingLineNumber - 1) {","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" for (int lineIndex \u003d 1; lineIndex \u003c linesChanged.length; lineIndex++) {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" String lineChanged \u003d linesChanged[lineIndex];","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" // set line added to be tracked","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (lineChanged.startsWith(LINE_INSERTED_SYMBOL)) {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(true);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // set all remaining lines in file that were untouched to be untracked","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c lineInfos.size()) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Traverses each file from the repo root directory, generates the {@link FileInfo} for each relevant file found","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * based on {@code config} and inserts it into {@code fileInfos}.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Adds binary files to {@link List} if {@code isBinaryFiles} is true. Otherwise, adds non-binary files","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" * to {@link List}.","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" private List\u003cFileInfo\u003e getAllFileInfo(RepoConfiguration config, boolean isBinaryFiles) {","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e files \u003d getFiles(config, isBinaryFiles);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" for (Path relativePath : files) {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (!config.getFileTypeManager().isInsideWhitelistedFormats(relativePath.toString())","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, relativePath)) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d (isBinaryFiles)","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" ? new FileInfo(relativePath.toString())","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" : generateFileInfo(config, relativePath.toString());","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileInfo.isFileAnalyzed()) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileInfos.add(fileInfo);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" * file located in the repository given by {@code config}/{@code relativePath}.","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(RepoConfiguration config, String relativePath) {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" return generateFileInfo(config.getRepoRoot(), relativePath, config.getFileSizeLimit(),","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" config.isFileSizeLimitIgnored(), config.isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" * file located at the {@link Path} given by {@code repoRoot}/{@code relativePath}. {@code fileSizeLimit} and","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" * {@code ignoreFileSizeLimit} are used to set whether the file size limit is exceeding. {@link LineInfo}s are","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" * not included in {@link FileInfo} if {@code skipIgnoredFileAnalysis} is true and file size limit is exceeding.","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(String repoRoot, String relativePath, long fileSizeLimit,","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit, boolean skipIgnoredFileAnalysis) {","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d new FileInfo(relativePath);","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" Path path \u003d Paths.get(repoRoot, fileInfo.getPath());","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader(new FileReader(path.toFile()))) {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" long fileSize \u003d Files.size(path);","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" fileInfo.setFileSize(fileSize);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" if (!ignoreFileSizeLimit \u0026\u0026 fileSize \u003e fileSizeLimit) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" fileInfo.setExceedsSizeLimit(true);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (skipIgnoredFileAnalysis) {","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_ANALYSIS_SKIPPED));","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" fileInfo.setFileAnalyzed(false);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" return fileInfo;","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_EXCLUDED_FROM_REPORT));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" String line;","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" int lineNum \u003d 1;","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" while ((line \u003d br.readLine()) !\u003d null) {","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" fileInfo.addLine(new LineInfo(lineNum++, line));","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, ioe.getMessage(), ioe);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" return fileInfo;","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Returns the starting line changed number, within the file diff result, by matching the pattern inside","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" * {@code linesChanged}.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" * @throws AssertionError if matching line number pattern in chunk header fails.","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" private int getStartingLineNumber(String linesChanged) throws AssertionError {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" Matcher chunkHeaderMatcher \u003d STARTING_LINE_NUMBER_PATTERN.matcher(linesChanged);","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (!chunkHeaderMatcher.find()) {","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" logger.severe(String.format(MATCH_GROUP_FAIL_MESSAGE_FORMAT, \"line changed\", linesChanged));","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Should not have error matching line number pattern inside chunk header!\");","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" return Integer.parseInt(chunkHeaderMatcher.group(STARTING_LINE_NUMBER_GROUP_NAME));","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" * Returns true if {@code filePath} is valid and the file is not in binary (i.e. part of {@code textFilesSet}).","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" private boolean isValidTextFile(String filePath, Set\u003cPath\u003e textFilesSet) {","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" boolean isValidFilePath;","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" isValidFilePath \u003d FileUtil.isValidPathWithLogging(filePath);","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" } catch (InvalidPathException ipe) {","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_INVALID_FILE_PATH, filePath));","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" isValidFilePath \u003d false;","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" return isValidFilePath \u0026\u0026 textFilesSet.contains(Paths.get(filePath));","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":291}},{"path":"src/main/java/reposense/git/GitCatFile.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git cat file related functionalities.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git cat file provides content or type and size information for repository objects.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitCatFile {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitCatFile.class);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Returns parent commits for the commit associated with the input {@code commitHash}.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code commitHash}.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentCommits(String root, String commitHash) throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" String catFileCommand \u003d \"git cat-file -p \" + commitHash;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, catFileCommand);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : StringsUtil.NEWLINE.split(output)) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" if (line.startsWith(\"parent\")) {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" parentCommits.add(line.substring(7).trim());","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" return parentCommits;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" } catch (RuntimeException e) {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Given the input list of {@code commitHashes}, return a list of commit hashes for the parent","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * commits of all the commits.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentsOfCommits(String root, List\u003cString\u003e commitHashes) {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String commitHash : commitHashes) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" parentCommits.addAll(getParentCommits(root, commitHash));","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" logger.warning(\"Invalid commit hash ignored: \" + commitHash);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" return parentCommits;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":60}},{"path":"src/main/java/reposense/git/GitConfig.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git config related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git config is used to set Git configuration values on a global or local","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * project level.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GitConfig {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_KEY \u003d \"filter.lfs.smudge\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_VALUE \u003d \"git-lfs smudge --skip -- %f\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_KEY \u003d \"filter.lfs.process\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_VALUE \u003d \"git-lfs filter-process --skip\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LIST_GLOBAL_CONFIG_COMMAND \u003d \"git config --global --list\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final List\u003cString[]\u003e SKIP_SMUDGE_CONFIG_SETTINGS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_SMUDGE_KEY, FILTER_LFS_SMUDGE_VALUE},","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_PROCESS_KEY, FILTER_LFS_PROCESS_VALUE});","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitConfig.class);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Returns the configuration values for lfs smudge and process within global git config.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * @return a list of string arrays where 0-index is key and 1-index is value.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getGlobalGitLfsConfig() {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" Pattern equals \u003d Pattern.compile(\"\u003d\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" String gitConfig \u003d getGitGlobalConfig();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(gitConfig))","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" .map(equals::split)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .filter(line -\u003e line[0].equals(FILTER_LFS_SMUDGE_KEY) || line[0].equals((FILTER_LFS_PROCESS_KEY)))","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, \"Could not get global git lfs config\", re);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Set the global git lfs configuration values. Does not run command if the configuration","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * values are already set to skip.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @param lfsConfigs a list of string arrays where 0-index is key and 1-index is value.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static void setGlobalGitLfsConfig(List\u003cString[]\u003e lfsConfigs) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" String command \u003d setGitLfsConfigCommand(lfsConfigs);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (!command.equals(\"\")) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Delete the global git lfs configuration values.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static void deleteGlobalGitLfsConfig() {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" String command \u003d String.format(\"git config --global --unset %s \u0026\u0026 git config --global --unset %s\",","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" FILTER_LFS_SMUDGE_KEY, FILTER_LFS_PROCESS_KEY);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static String setGitLfsConfigCommand(List\u003cString[]\u003e lfsConfigs) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cString\u003e commands \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String[] config : lfsConfigs) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" String key \u003d config[0];","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" String value \u003d config.length \u003e 1 ? config[1] : \"\";","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" commands.add(String.format(\"git config --global %s \\\"%s\\\"\", key, value));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return String.join(\" \u0026\u0026 \", commands);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static String getGitGlobalConfig() {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return CommandRunner.runCommand(Paths.get(\".\"), LIST_GLOBAL_CONFIG_COMMAND);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":86}},{"path":"src/main/java/reposense/git/GitDiff.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Contains git diff related functionalities.","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Git diff is responsible for obtaining the changes between commits, commit and working tree, etc.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GitDiff {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String CHECKED_OUT_COMMIT_REFERENCE \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Returns the git diff result of the current commit compared to {@code lastCommitHash}, without any context.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static String diffCommit(String root, String lastCommitHash) {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" return runCommand(rootPath, \"git diff -U0 --ignore-submodules\u003dall \" + lastCommitHash);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Returns a list of committed files with the corresponding number of lines added and deleted in the repo","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * {@code repoRoot}.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getModifiedFilesList(Path repoRoot) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" String diffCommand \u003d String.format(\"git diff --ignore-submodules\u003dall --numstat %s %s\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" EMPTY_TREE_HASH, CHECKED_OUT_COMMIT_REFERENCE);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" String diffResult \u003d runCommand(repoRoot.toAbsolutePath(), diffCommand);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(diffResult));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Returns the git diff result of {@code currentCommitHash} compared to {@code baseCommitHash}.","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" public static String diffCommits(String root, String baseCommitHash, String currentCommitHash) {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" return runCommand(rootPath, String.format(\"git diff %s...%s\", baseCommitHash, currentCommitHash));","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":44}},{"path":"src/main/java/reposense/git/GitLog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.StringsUtil.addQuotesForFilePath;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git log related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git log is responsible to obtain the commit logs and the authors\u0027 info.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitLog {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String COMMIT_INFO_DELIMITER \u003d \"(?m)^\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c\\\\n\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String PRETTY_FORMAT_STRING \u003d","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"\\\"\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c%n%H|%n|%p|%n|%aN|%n|%aE|%n|%cI|%n|%s|%n|%w(0,4,4)%b%w(0,0,0)|%n|%D|\\\"\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String DEFAULT_EMAIL_IF_MISSING \u003d \"\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, in the repository specified in {@code config}.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static String get(RepoConfiguration config, Author author) {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --shortstat\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, with the files changed, in the repository specified in","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" * {@code config}. Merge commits are included.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" public static String getWithFiles(RepoConfiguration config, Author author) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --numstat --shortstat\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns the authors who modified the file at {@code filePath}, in the repository specified in {@code config}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * The output is a list of length-2 arrays containing the author\u0027s name and email.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getFileAuthors(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dformat:\\\"%an\\t%ae\\\" \";","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" command +\u003d \" \" + addQuotesForFilePath(filePath);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" String result \u003d runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(result))","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" .map(StringsUtil.TAB::split)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .map(authorAndEmailArray -\u003e authorAndEmailArray.length \u003d\u003d 1","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" ? new String[] {authorAndEmailArray[0], DEFAULT_EMAIL_IF_MISSING}","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" : authorAndEmailArray)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Returns the git log result containing the parents of {@code commitHash}.","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" public static String getParentCommits(String root, String commitHash) {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003d%P -1 \";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" command +\u003d commitHash;","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command).trim();","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":89}},{"path":"src/main/java/reposense/git/GitRemote.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git remote related functionality.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git remote is responsible for getting remote repository information.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitRemote {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String DEFAULT_FETCH_REMOTE \u003d \"origin(fetch)\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String DEFAULT_PUSH_REMOTE \u003d \"origin(push)\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitRemote.class);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Extracts remote repository information at {@code repoRoot}.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @return Map of keys of the form REMOTE_NAME(fetch) or REMOTE_NAME(push) to their corresponding remote URLs.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static Map\u003cString, String\u003e getRemotes(String repoRoot) {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" Pattern anyTabPattern \u003d Pattern.compile(\"[ \\\\t]+\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String result;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" result \u003d CommandRunner.runCommand(Paths.get(repoRoot), \"git remote -v\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Unable to run git remote command in directory: %s\", repoRoot));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" return remotes;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" Arrays.stream(StringsUtil.NEWLINE.split(result))","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" .map(anyTabPattern::split)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .forEach(l -\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (l.length \u003d\u003d 3) {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" // l[0]: remote name","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" // l[1]: remote URL","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // l[2]: \u0027(fetch)\u0027 | \u0027(push)\u0027","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" remotes.put(l[0] + l[2], l[1]);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return remotes;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Finds an available fetch remote location in a given {@code remoteMap}, checking first for the default fetch","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" * remote (origin).","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * @return an {@code Optional} of an available remote location.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static Optional\u003cString\u003e getAvailableRemoteLocation(Map\u003cString, String\u003e remoteMap) {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (remoteMap.size() \u003d\u003d 0) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Optional.empty();","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String remoteLocation \u003d remoteMap.containsKey(DEFAULT_FETCH_REMOTE)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // Get default fetch remote if possible","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? remoteMap.get(DEFAULT_FETCH_REMOTE)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" // Get any available remote otherwise","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" : remoteMap.values().iterator().next();","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return Optional.of(remoteLocation);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"-":70}},{"path":"src/main/java/reposense/git/GitRevList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git rev list related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git rev list is responsible for showing commit objects in reverse chronological order.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitRevList {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String REVISION_PATH_SEPARATOR \u003d \" -- \";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Returns the latest commit hash at {@code branchName} before {@code date}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Returns an empty {@code String} if {@code date} is null, or there is no such commit.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @param root The name of the working directory.","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param branchName The name of the branch to find the commit hash in.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * @param date The cut-off date before which the commit hash must be found.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @param zoneId The timezone of the date.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String getCommitHashUntilDate(String root, String branchName, LocalDateTime date, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (date \u003d\u003d null) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -1 --until\u003d\"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" + GitUtil.GIT_LOG_UNTIL_DATE_FORMAT.format(ZonedDateTime.of(date, zoneId))","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \" \" + branchName + REVISION_PATH_SEPARATOR;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName}, separated by newlines,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * that are within the range of {@code startHash} and {@code endHash}.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Both the {@code startHash} and {@code endHash} are guaranteed to be in the list.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static String getCommitHashInRange(String root, String branchName, String startHash, String endHash) {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (startHash \u003d\u003d null \u0026\u0026 endHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" } else if (startHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" return endHash;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (endHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" return startHash;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" String fromStartHash \u003d getAllCommitHashSince(root, branchName, startHash);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" String fromEndHash \u003d getAllCommitHashSince(root, branchName, endHash);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" StringBuilder output \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // If invalid hashes were given, do not use the results obtained from rev-list","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (fromStartHash.equals(\"\") \u0026\u0026 fromEndHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" } else if (fromStartHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" return endHash;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" } else if (fromEndHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return startHash;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Perform a set difference in the list of commits to get the commits within the given range, since both lists","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // will have the list of commits starting from the given commit to HEAD, hence this removes the overlap part.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" // Also ensure that both hashes are present in the final output","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (fromStartHash.length() \u003e fromEndHash.length()) {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" output.append(endHash);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" output.append(fromStartHash.substring(fromEndHash.length()));","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" output.append(startHash);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" output.append(fromEndHash.substring(fromStartHash.length()));","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" return output.toString();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName} separated by newlines that exist","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" * since {@code hash} until HEAD.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static String getAllCommitHashSince(String root, String branchName, String hash) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list \" + hash + \"..HEAD \" + branchName + REVISION_PATH_SEPARATOR;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand) + hash;","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" } catch (RuntimeException rte) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // An invalid commit hash was provided","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes for the root commits in the tree, with the {@link Path} given by {@code root}","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * as working directory.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getRootCommits(String root) {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list --max-parents\u003d0 HEAD\";","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(output));","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns true if the repository is empty, with the {@link Path} given by {@code root} as working directory.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean checkIsEmptyRepo(String root) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -n 1 --all\";","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" return output \u003d\u003d null || output.trim().isEmpty();","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":120}},{"path":"src/main/java/reposense/git/GitShortlog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Contains git shortlog related functionalities.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Git shortlog provides a summary of git log output.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class GitShortlog {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Extracts all the author identities from the repository and date range given in {@code config},","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" * with the timezone taken into account.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" public static List\u003cAuthor\u003e getAuthors(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" String summary \u003d getShortlogSummary(","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (summary.isEmpty()) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Collections.emptyList();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" String[] lines \u003d StringsUtil.NEWLINE.split(summary);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" return Arrays.stream(lines)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" .map(line -\u003e new Author(StringsUtil.TAB.split(line)[1]))","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Obtains summarized version of git log from the repository at {@code root} for the date range","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" * given by {@code sinceDate} and {@code untilDate}, with {@code zoneId} taken into account for both dates.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static String getShortlogSummary(String root, LocalDateTime sinceDate, LocalDateTime untilDate,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" ZoneId zoneId) {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dshort\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(sinceDate, untilDate, zoneId);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" command +\u003d \" | git shortlog --summary\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":52}},{"path":"src/main/java/reposense/git/GitShow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.text.ParseException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Contains git show related functionalities.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Git show shows various types of objects.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class GitShow {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitShow.class);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns expanded form of the {@link CommitHash} associated with the {@code shortCommitHash}, with","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * the {@link Path} given by {@code root} as the working directory.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code shortCommitHash}.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static CommitHash getExpandedCommitHash(String root, String shortCommitHash) throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%H \" + shortCommitHash;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cCommitHash\u003e commitHashes \u003d Arrays.stream(StringsUtil.NEWLINE.split(output))","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .map(CommitHash::new).collect(Collectors.toList());","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" if (commitHashes.size() \u003e 1) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"%s can be expanded to %d different commits, \"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"assuming %s refers to commit hash %s\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" shortCommitHash, commitHashes.size(), shortCommitHash, commitHashes.get(0)));","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" return commitHashes.get(0);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + shortCommitHash);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the commit associated with commit hash, with {@link Path} given by {@code root}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * as the working directory.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for the given {@code commitHash}.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @throws ParseException if the date string for the given {@code commitHash} could not be parsed into","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static LocalDateTime getCommitDate(String root, String commitHash)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" throws CommitNotFoundException, ParseException {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%ci \" + commitHash;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss Z\u0027\\n\u0027\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(output, format);","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the earliest commit out of the input list of commits in {@code commitHashes},","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" * with the {@code root} string denoting the working directory.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for a given hash in {@code commitHashes}","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * or if no date string was successfully parsed to a {@link LocalDateTime} for earliest date.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static LocalDateTime getEarliestCommitDate(String root, List\u003cString\u003e commitHashes)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" LocalDateTime earliest \u003d null;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (String hash : commitHashes) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" LocalDateTime date \u003d getCommitDate(root, hash);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null || date.compareTo(earliest) \u003c 0) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" earliest \u003d date;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" logger.warning(\"Commit not found: \" + hash);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" logger.warning(\"Could not parse date for commit: \" + hash);","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null) {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Date could not be retrieved for all input commits\");","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return earliest;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":101}},{"path":"src/main/java/reposense/model/Author.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.PathMatcher;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents a Git Author.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class Author {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" public static final String NAME_NO_AUTHOR_WITH_COMMITS_FOUND \u003d","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"NO AUTHOR WITH COMMITS FOUND WITHIN THIS PERIOD OF TIME\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String UNKNOWN_AUTHOR_GIT_ID \u003d \"-\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITHUB_EMAIL_DOMAIN \u003d \"@users.noreply.github.com\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITLAB_EMAIL_DOMAIN \u003d \"@users.noreply.gitlab.com\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_EMAIL_PATTERN \u003d \"The provided email, %s, uses uncommon pattern.\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_GLOB_PATTERN \u003d \"The provided ignore glob, %s, uses uncommon pattern.\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String COMMON_EMAIL_REGEX \u003d","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"^([a-zA-Z0-9_\\\\-\\\\.\\\\+]+)@([a-zA-Z0-9_\\\\-\\\\.]+)\\\\.([a-zA-Z]{2,5})$\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String COMMON_GLOB_REGEX \u003d \"^[-a-zA-Z0-9 _/\\\\\\\\*!{}\\\\[\\\\]!(),:.]*$\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final Author UNKNOWN_AUTHOR \u003d new Author(UNKNOWN_AUTHOR_GIT_ID);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final String gitId;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e emails;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private transient String displayName;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e authorAliases;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient PathMatcher ignoreGlobMatcher;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Author(String gitId) {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.displayName \u003d gitId;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.authorAliases \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" public Author(StandaloneAuthor sa) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" String gitId \u003d sa.getGitId();","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d new ArrayList\u003c\u003e(sa.getEmails());","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" String displayName \u003d !sa.getDisplayName().isEmpty() ? sa.getDisplayName() : sa.getGitId();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e authorAliases \u003d sa.getAuthorNames();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d sa.getIgnoreGlobList();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" setEmails(emails);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" setIgnoreGlobList(ignoreGlobList);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public Author(Author another) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.gitId \u003d another.gitId;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.emails \u003d another.emails;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.displayName \u003d another.gitId;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.authorAliases \u003d another.authorAliases;","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d another.ignoreGlobList;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.ignoreGlobMatcher \u003d another.ignoreGlobMatcher;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code emails} only contains commonly used email patterns.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static void validateEmails(List\u003cString\u003e emails) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Pattern emailPattern \u003d Pattern.compile(COMMON_EMAIL_REGEX);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String email : emails) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" if (!emailPattern.matcher(email).matches()) {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_EMAIL_PATTERN, email));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreGlobList} only contains commonly used glob patterns.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static void validateIgnoreGlobs(List\u003cString\u003e ignoreGlobList) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" Pattern globPattern \u003d Pattern.compile(COMMON_GLOB_REGEX);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" for (String glob : ignoreGlobList) {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" if (!globPattern.matcher(glob).matches()) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_GLOB_PATTERN, glob));","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" public String getGitId() {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" return gitId;","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getEmails() {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" return emails;","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void setEmails(List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" validateEmails(emails);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e(emails);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" public String getDisplayName() {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" return displayName;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void setDisplayName(String displayName) {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getAuthorAliases() {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" return authorAliases;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" public void setAuthorAliases(List\u003cString\u003e authorAliases) {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" return ignoreGlobList;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e(ignoreGlobList);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Validates and adds {@code ignoreGlobList} into the {@link Author} class instance variable without duplicates","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * and updates the ignore glob matcher.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void importIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" ignoreGlobList.forEach(ignoreGlob -\u003e {","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" if (!this.ignoreGlobList.contains(ignoreGlob)) {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.ignoreGlobList.add(ignoreGlob);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Returns true if this author is ignoring the {@code filePath} based on its ignore glob matcher.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean isIgnoringFile(Path filePath) {","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" return ignoreGlobMatcher.matches(filePath);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!(other instanceof Author)) {","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Author otherAuthor \u003d (Author) other;","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" return this.gitId.equalsIgnoreCase(otherAuthor.gitId);","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" return gitId !\u003d null ? gitId.toLowerCase().hashCode() : 0;","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" return gitId;","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" * Updates the {@link PathMatcher} to the new ignore glob list set.","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Called after a new ignore glob list is set.","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" private void updateIgnoreGlobMatcher() {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" String globString \u003d \"glob:{\" + String.join(\",\", ignoreGlobList) + \"}\";","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" ignoreGlobMatcher \u003d FileSystems.getDefault().getPathMatcher(globString);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" * Adds the standard github and gitlab emails to {@code emails} if not present.","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void addStandardGitHostEmails(List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String standardGitHubEmail \u003d getGitId() + STANDARD_GITHUB_EMAIL_DOMAIN;","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" String standardGitLabEmail \u003d getGitId() + STANDARD_GITLAB_EMAIL_DOMAIN;","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitHubEmail)) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" emails.add(standardGitHubEmail);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitLabEmail)) {","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" emails.add(standardGitLabEmail);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":205}},{"path":"src/main/java/reposense/model/BlurbMap.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import com.fasterxml.jackson.annotation.JsonProperty;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" * Represents the mapping between the repo URL to the associated blurb.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMap {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" @JsonProperty(\"urlBlurbMap\")","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" private final Map\u003cString, String\u003e urlBlurbMap;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap() {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" this.urlBlurbMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" public Map\u003cString, String\u003e getAllMappings() {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" return new HashMap\u003c\u003e(this.urlBlurbMap);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" * Adds a key-value record into the {@code BlurbMap}.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" * @param key Key value.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" * @param value Blurb value.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" public void withRecord(String key, String value) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" this.urlBlurbMap.put(key, value);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" @Override","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" public boolean equals(Object obj) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" if (obj \u003d\u003d this) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" return true;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" if (obj instanceof BlurbMap) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap bm \u003d (BlurbMap) obj;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" return bm.urlBlurbMap.equals(this.urlBlurbMap);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" return false;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":46}},{"path":"src/main/java/reposense/model/CliArguments.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Objects;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.parser.ReportConfigJsonParser;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Represents command line arguments user supplied when running the program.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class CliArguments {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" private Path outputFilePath;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private Path assetsFilePath;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isSinceDateProvided;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isUntilDateProvided;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private List\u003cFileType\u003e formats;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" private int numCloningThreads;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" private int numAnalysisThreads;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" private ZoneId zoneId;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private boolean isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private double originalityThreshold;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private boolean isTestMode \u003d ArgsParser.DEFAULT_IS_TEST_MODE;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private boolean isFreshClonePerformed \u003d ArgsParser.DEFAULT_SHOULD_FRESH_CLONE;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private List\u003cString\u003e locations;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private boolean isViewModeOnly;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private Path reportDirectoryPath;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private Path configFolderPath;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Path repoConfigFilePath;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private Path authorConfigFilePath;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private Path groupConfigFilePath;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private Path reportConfigFilePath;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private ReportConfiguration reportConfiguration;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private BlurbMap blurbMap;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs a {@code CliArguments} object without any parameters.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments() {}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" return zoneId;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public Path getOutputFilePath() {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" return outputFilePath;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public Path getAssetsFilePath() {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return assetsFilePath;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return sinceDate;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" return untilDate;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public boolean isSinceDateProvided() {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" return isSinceDateProvided;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public boolean isUntilDateProvided() {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return isUntilDateProvided;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" return isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getFormats() {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" return formats;","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public boolean isAutomaticallyLaunching() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" return isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public int getNumCloningThreads() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" return numCloningThreads;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" public int getNumAnalysisThreads() {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" return numAnalysisThreads;","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" public boolean isTestMode() {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" return isTestMode;","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" public boolean isFreshClonePerformed() {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" return isFreshClonePerformed;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getLocations() {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" return locations;","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" public Path getReportDirectoryPath() {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" return reportDirectoryPath;","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" public Path getConfigFolderPath() {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" return configFolderPath;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" public Path getRepoConfigFilePath() {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" return repoConfigFilePath;","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" public Path getAuthorConfigFilePath() {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" return authorConfigFilePath;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" public Path getGroupConfigFilePath() {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" return groupConfigFilePath;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" public Path getReportConfigFilePath() {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" return reportConfigFilePath;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" public ReportConfiguration getReportConfiguration() {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" return reportConfiguration;","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap getBlurbMap() {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return blurbMap;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" public boolean isViewModeOnly() {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" return isViewModeOnly;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" public boolean isAuthorshipAnalyzed() {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" return isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" public double getOriginalityThreshold() {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" return originalityThreshold;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" if (!(other instanceof CliArguments)) {","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" CliArguments otherCliArguments \u003d (CliArguments) other;","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" return Objects.equals(this.outputFilePath, otherCliArguments.outputFilePath)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.sinceDate, otherCliArguments.sinceDate)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.untilDate, otherCliArguments.untilDate)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isSinceDateProvided \u003d\u003d otherCliArguments.isSinceDateProvided","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isUntilDateProvided \u003d\u003d otherCliArguments.isUntilDateProvided","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.formats, otherCliArguments.formats)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isLastModifiedDateIncluded \u003d\u003d otherCliArguments.isLastModifiedDateIncluded","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isShallowCloningPerformed \u003d\u003d otherCliArguments.isShallowCloningPerformed","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAutomaticallyLaunching \u003d\u003d otherCliArguments.isAutomaticallyLaunching","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isStandaloneConfigIgnored \u003d\u003d otherCliArguments.isStandaloneConfigIgnored","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numCloningThreads \u003d\u003d otherCliArguments.numCloningThreads","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numAnalysisThreads \u003d\u003d otherCliArguments.numAnalysisThreads","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.zoneId, otherCliArguments.zoneId)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFindingPreviousAuthorsPerformed \u003d\u003d otherCliArguments.isFindingPreviousAuthorsPerformed","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFileSizeLimitIgnored \u003d\u003d otherCliArguments.isFileSizeLimitIgnored","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isTestMode \u003d\u003d otherCliArguments.isTestMode","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFreshClonePerformed \u003d\u003d otherCliArguments.isFreshClonePerformed","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.locations, otherCliArguments.locations)","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isViewModeOnly \u003d\u003d otherCliArguments.isViewModeOnly","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportDirectoryPath, otherCliArguments.reportDirectoryPath)","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.repoConfigFilePath, otherCliArguments.repoConfigFilePath)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.authorConfigFilePath, otherCliArguments.authorConfigFilePath)","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.groupConfigFilePath, otherCliArguments.groupConfigFilePath)","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportConfigFilePath, otherCliArguments.reportConfigFilePath)","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" \u0026\u0026 Objects.equals(this.blurbMap, otherCliArguments.blurbMap)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAuthorshipAnalyzed \u003d\u003d otherCliArguments.isAuthorshipAnalyzed","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.originalityThreshold, otherCliArguments.originalityThreshold);","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" * Builder used to build CliArguments.","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static final class Builder {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments cliArguments;","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" public Builder() {","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Adds the {@code outputFilePath} to CliArguments.","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" * @param outputFilePath The output file path.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" public Builder outputFilePath(Path outputFilePath) {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.outputFilePath \u003d outputFilePath;","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" * Adds the {@code assetsFilePath} to CliArguments.","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" * @param assetsFilePath The assets file path.","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" public Builder assetsFilePath(Path assetsFilePath) {","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.assetsFilePath \u003d assetsFilePath;","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Adds the {@code sinceDate} to CliArguments.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" * @param sinceDate The since date.","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Adds the {@code untilDate} to CliArguments.","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * @param untilDate The until date.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" public Builder untilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Adds the {@code isSinceDateProvided} to CliArguments.","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided Is the since date provided.","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" public Builder isSinceDateProvided(boolean isSinceDateProvided) {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isSinceDateProvided \u003d isSinceDateProvided;","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Adds the {@code isUntilDateProvided} to CliArguments.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided Is the until date provided.","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" public Builder isUntilDateProvided(boolean isUntilDateProvided) {","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isUntilDateProvided \u003d isUntilDateProvided;","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" * Adds the {@code formats} to CliArguments.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @param formats The list of {@link FileType}.","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" public Builder formats(List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.formats \u003d formats;","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" * Adds the {@code isLastModifiedDateIncluded} to CliArguments.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" * @param isLastModifiedDateIncluded Is the last modified date included.","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Adds the {@code isShallowCloningPerformed} to CliArguments.","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" * @param isShallowCloningPerformed Is shallow cloning performed.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Adds the {@code isAutomaticallyLaunching} to CliArguments.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" * @param isAutomaticallyLaunching Is automatically launching.","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" public Builder isAutomaticallyLaunching(boolean isAutomaticallyLaunching) {","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isAutomaticallyLaunching \u003d isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" * Adds the {@code isStandaloneConfigIgnored} to CliArguments.","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" * @param isStandaloneConfigIgnored Is standalone config ignored.","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" * Adds the {@code isFileSizeLimitIgnored} to CliArguments.","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" * @param isFileSizeLimitIgnored Is file size limit ignored.","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" * Adds the {@code numCloningThreads} to CliArguments.","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of cloning threads.","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" public Builder numCloningThreads(int numCloningThreads) {","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numCloningThreads \u003d numCloningThreads;","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" * Adds the {@code numAnalysisThreads} to CliArguments.","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of analysis threads.","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" public Builder numAnalysisThreads(int numAnalysisThreads) {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numAnalysisThreads \u003d numAnalysisThreads;","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" * Adds the {@code zoneId} to CliArguments.","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" * @param zoneId The timezone Id.","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" public Builder zoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" * Adds the {@code isFindingPreviousAuthorsPerformed} to CliArguments.","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" * @param isFindingPreviousAuthorsPerformed Is finding previous authors performed.","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" * Adds the {@code isTestMode} to CliArguments.","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" * @param isTestMode Is test mode.","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" public Builder isTestMode(boolean isTestMode) {","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isTestMode \u003d isTestMode;","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" * Adds the {@code isFreshClonePerformed} to CliArguments.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" * @param isFreshClonePerformed Is fresh clone performed.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" public Builder isFreshClonePerformed(boolean isFreshClonePerformed) {","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFreshClonePerformed \u003d isFreshClonePerformed;","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" * Adds the {@code locations} to CliArguments.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" * @param locations The list of locations.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" public Builder locations(List\u003cString\u003e locations) {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.locations \u003d locations;","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" * Adds the {@code isViewModeOnly} to CliArguments.","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":" * @param isViewModeOnly Is view mode only.","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" public Builder isViewModeOnly(boolean isViewModeOnly) {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isViewModeOnly \u003d isViewModeOnly;","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" * Adds the {@code reportDirectoryPath} to CliArguments.","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" * @param reportDirectoryPath The report directory path.","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" public Builder reportDirectoryPath(Path reportDirectoryPath) {","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportDirectoryPath \u003d reportDirectoryPath;","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Adds the {@code configFolderPath} to CliArguments. {@code configFolderPath} is utilised to configure the","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" * {@code repoConfigFilePath}, {@code authorConfigFilePath}, {@code groupConfigFilePath} and","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" * {@code reportConfigFilePath}.","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" * @param configFolderPath The config folder path.","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" public Builder configFolderPath(Path configFolderPath) {","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.configFolderPath \u003d configFolderPath.equals(EMPTY_PATH)","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" ? configFolderPath.toAbsolutePath()","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" : configFolderPath;","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.repoConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.authorConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.groupConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"asdfghjkxd"},"content":" GroupConfigCsvParser.GROUP_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" ReportConfigJsonParser.REPORT_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" * Adds the {@code reportConfiguration} to CliArguments.","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" * @param reportConfiguration The report configuration.","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" public Builder reportConfiguration(ReportConfiguration reportConfiguration) {","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfiguration \u003d reportConfiguration;","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" * Adds the {@code isAuthorshipAnalyzed} to CliArguments.","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" * @param isAuthorshipAnalyzed Is authorship analyzed.","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" public Builder isAuthorshipAnalyzed(boolean isAuthorshipAnalyzed) {","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" this.cliArguments.isAuthorshipAnalyzed \u003d isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" * Adds the {@code originalityThreshold} to CliArguments.","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" * @param originalityThreshold the originality threshold.","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" public Builder originalityThreshold(double originalityThreshold) {","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" this.cliArguments.originalityThreshold \u003d originalityThreshold;","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"asdfghjkxd"},"content":" * Adds the {@code blurbMap} to CliArguments.","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"asdfghjkxd"},"content":" * @param blurbMap The blurb map.","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"asdfghjkxd"},"content":" public Builder blurbMap(BlurbMap blurbMap) {","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.blurbMap \u003d blurbMap;","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" * Builds CliArguments.","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" * @return CliArguments","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" public CliArguments build() {","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"asdfghjkxd"},"content":" CliArguments built \u003d this.cliArguments;","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"asdfghjkxd"},"content":" return built;","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":69,"-":448}},{"path":"src/main/java/reposense/model/CliRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by CLI.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class CliRunConfiguration implements RunConfiguration {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(CliRunConfiguration.class);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" public CliRunConfiguration(CliArguments cliArguments) {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws ParseException if all repo locations are invalid.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations() throws ParseException {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" for (String locationString : cliArguments.getLocations()) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" configs.add(","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(locationString))","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException ile) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, ile.getMessage(), ile);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (configs.isEmpty()) {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" throw new ParseException(\"All repository locations are invalid.\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" return configs;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":43}},{"path":"src/main/java/reposense/model/CommitHash.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Represents a git commit hash in {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class CommitHash {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String COMMIT_HASH_REGEX \u003d \"^[0-9a-f]+$\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String COMMIT_RANGED_HASH_REGEX \u003d \"^[0-9a-f]+\\\\.\\\\.[0-9a-f]+$\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String INVALID_COMMIT_HASH_MESSAGE \u003d","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"The provided commit hash, %s, contains illegal characters.\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private String commit;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public CommitHash(String commit) {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" validateCommit(commit);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.commit \u003d commit;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" return commit;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!(other instanceof CommitHash)) {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" CommitHash otherCommit \u003d (CommitHash) other;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" return this.commit.equals(otherCommit.commit);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" return commit.hashCode();","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Converts all the strings in {@code commits} into {@link CommitHash} objects.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns null if {@code commits} is null.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the strings are in invalid formats.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static List\u003cCommitHash\u003e convertStringsToCommits(List\u003cString\u003e commits) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (commits \u003d\u003d null) {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return commits.stream()","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .map(CommitHash::new)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Converts a commit {@code entry} into either itself, or a stream of {@link CommitHash} objects if a range was","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" * provided.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Uses {@code root} as the working directory and {@code branchName} as the branch from which to obtain the hashes.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static Stream\u003cCommitHash\u003e getHashes(String root, String branchName, CommitHash entry) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" if (entry.toString().matches(COMMIT_HASH_REGEX)) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return Stream.of(entry);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String[] startAndEnd \u003d entry.toString().split(\"\\\\.\\\\.\");","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" String revList \u003d GitRevList.getCommitHashInRange(root, branchName, startAndEnd[0], startAndEnd[1]);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(revList))","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .map(CommitHash::new);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Checks if {@code commitList} contains {@code commitHash}.","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" public static boolean isInsideCommitList(String commitHash, List\u003cCommitHash\u003e commitList) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" return commitList.stream().map(CommitHash::toString).anyMatch(commitHash::startsWith);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreCommitList} are in valid formats.","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static void validateCommits(List\u003cString\u003e commits) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" for (String commitHash : commits) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" validateCommit(commitHash);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Checks that {@code commitHash} is in a valid format.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if {@code commitHash} does not meet the criteria.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" private static void validateCommit(String commitHash) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!commitHash.matches(COMMIT_HASH_REGEX) \u0026\u0026 !commitHash.matches(COMMIT_RANGED_HASH_REGEX)) {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(INVALID_COMMIT_HASH_MESSAGE, commitHash));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":112}},{"path":"src/main/java/reposense/model/ConfigRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by config files.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class ConfigRunConfiguration implements RunConfiguration {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ConfigRunConfiguration.class);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public ConfigRunConfiguration(CliArguments cliArguments) {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * @throws IOException if user-supplied csv file does not exist or is not readable.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if user-supplied repo-config csv is malformed.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if user-supplied csv file has header that cannot be parsed.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" Path authorConfigFilePath \u003d cliArguments.getAuthorConfigFilePath();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path groupConfigFilePath \u003d cliArguments.getGroupConfigFilePath();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (authorConfigFilePath !\u003d null \u0026\u0026 Files.exists(authorConfigFilePath)) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" authorConfigs \u003d new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(repoConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" RepoConfiguration.setHasAuthorConfigFileToRepoConfigs(repoConfigs, true);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (groupConfigFilePath !\u003d null \u0026\u0026 Files.exists(groupConfigFilePath)) {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfigs \u003d new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(repoConfigs, groupConfigs);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" return repoConfigs;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":69}},{"path":"src/main/java/reposense/model/RepoConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitBranch;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents configuration information from CSV config file for a single repository.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoConfiguration {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String DEFAULT_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DEFAULT_EXTRA_OUTPUT_FOLDER_NAME \u003d \"\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static final long DEFAULT_FILE_SIZE_LIMIT \u003d 500000;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoConfiguration.class);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private RepoLocation location;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private String branch \u003d DEFAULT_BRANCH;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private String displayName;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private String outputFolderName;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private transient String extraOutputFolderName \u003d DEFAULT_EXTRA_OUTPUT_FOLDER_NAME;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient ZoneId zoneId;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private transient LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private transient String repoFolderName;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" private transient FileTypeManager fileTypeManager \u003d new FileTypeManager(Collections.emptyList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoredAuthorsList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private transient AuthorConfiguration authorConfig;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isStandaloneConfigIgnored \u003d false;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitIgnored \u003d false;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private transient List\u003cCommitHash\u003e ignoreCommitList \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private transient boolean isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isShallowCloningPerformed \u003d false;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFindingPreviousAuthorsPerformed \u003d false;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFormatsOverriding \u003d false;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private transient boolean isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoreCommitListOverriding \u003d false;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private transient boolean isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" private transient long fileSizeLimit \u003d DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoredFileAnalysisSkipped \u003d false;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs an empty instance of {@code RepoConfiguration}, which is used by the {@code Builder}","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" * to construct new {@code RepoConfiguration} instances.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration() {}","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the necessary configurations for RepoConfiguration.","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" * Obeys the Builder pattern as described in {@link CliArguments}.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" public static class Builder {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" private String displayName;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" private String outputFolderName;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" private String repoFolderName;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration repoConfiguration;","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" * Returns an empty instance of the RepoConfiguration Builder.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" public Builder() {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the author configuration of the repository.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" private void processAuthor() {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d new AuthorConfiguration(","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location,","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the branch of the repository.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" private void processBranch() {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d this.repoConfiguration.location.isEmpty()","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" ? DEFAULT_BRANCH","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" : this.repoConfiguration.branch;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the relevant names of the repository configs.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" private void processNames() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" String repoName \u003d this.repoConfiguration.location.getRepoName();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" String org \u003d this.repoConfiguration.location.getOrganization();","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" String defaultDisplayName \u003d repoName + \"[\" + this.repoConfiguration.branch + \"]\";","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" String defaultOutputFolderName \u003d repoName + \"_\" + this.repoConfiguration.branch;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" String defaultRepoFolderName \u003d repoName;","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" if (!org.isEmpty()) {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" defaultDisplayName \u003d org + \"/\" + defaultDisplayName;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" defaultRepoFolderName \u003d org + \"_\" + defaultRepoFolderName;","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" defaultOutputFolderName \u003d org + \"_\" + defaultOutputFolderName;","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d Optional.ofNullable(this.displayName)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultDisplayName);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d Optional.ofNullable(this.outputFolderName)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultOutputFolderName);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d Optional.ofNullable(this.repoFolderName)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultRepoFolderName);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code location} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" * @param location A repository location.","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" public Builder location(RepoLocation location) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location \u003d location;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code branch} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" * @param branch Branch of the repository of interest.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" public Builder branch(String branch) {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d branch;","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code displayName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" * @param displayName Display name of the repository.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" public Builder displayName(String displayName) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code outputFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"asdfghjkxd"},"content":" * @param outputFolderName Output folder name of the repository.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" public Builder outputFolderName(String outputFolderName) {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"asdfghjkxd"},"content":" this.outputFolderName \u003d outputFolderName;","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d outputFolderName;","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code extraOutputFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"asdfghjkxd"},"content":" * @param extraOutputFolderName Extra output folder name of the repository.","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" public Builder extraOutputFolderName(String extraOutputFolderName) {","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.extraOutputFolderName \u003d extraOutputFolderName;","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code zoneId} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" * @param zoneId Time-zone of the repository.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" public Builder zoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code sinceDate} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"asdfghjkxd"},"content":" * @param sinceDate Starting date of analysis.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code untilDate} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"asdfghjkxd"},"content":" * @param untilDate Ending date of analysis.","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"asdfghjkxd"},"content":" public Builder untilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code repoFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":" * @param repoFolderName Folder name of the repository.","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" public Builder repoFolderName(String repoFolderName) {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" this.repoFolderName \u003d repoFolderName;","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d repoFolderName;","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileTypeManager} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileTypes List of file types and groupings permitted.","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileTypeManager(List\u003cFileType\u003e fileTypes) {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileTypeManager \u003d new FileTypeManager(fileTypes);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreGlobList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredGlobList List of glob patterns to ignore.","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreGlobList(List\u003cString\u003e ignoredGlobList) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreGlobList \u003d ignoredGlobList;","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoredAuthorsList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredAuthorsList List of authors to ignore.","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoredAuthorsList \u003d ignoredAuthorsList;","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code authorConfig} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"asdfghjkxd"},"content":" * @param authorConfig Author configuration information of the repository.","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"asdfghjkxd"},"content":" public Builder authorConfig(AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d authorConfig;","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isStandaloneConfigIgnored} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" * @param isStandaloneConfigIgnored Checks if standalone config is ignored.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitIgnored} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitIgnored Checks if file size limit is ignored.","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreCommitList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoreCommitList List of commits to ignore.","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreCommitList \u003d ignoreCommitList;","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isLastModifiedDateIncluded} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"asdfghjkxd"},"content":" * @param isLastModifiedDateIncluded Checks if last modified date is included.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isShallowCloningPerformed} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" * @param isShallowCloningPerformed Checks if shallow cloning is performed.","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFindingPreviousAuthorsPerformed} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFindingPreviousAuthorsPerformed Checks if finding previous authors is performed.","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFormatsOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFormatsOverriding Checks if file formats are overridden.","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFormatsOverriding(boolean isFormatsOverriding) {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFormatsOverriding \u003d isFormatsOverriding;","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreGlobListOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreGlobListOverriding Checks if the list of ignored glob is overridden.","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreGlobListOverriding(boolean isIgnoreGlobListOverriding) {","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreGlobListOverriding \u003d isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreCommitListOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreCommitListOverriding Checks if the list of ignored commits is overridden.","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreCommitListOverriding(boolean isIgnoreCommitListOverriding) {","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreCommitListOverriding \u003d isIgnoreCommitListOverriding;","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredAuthorsListOverriding Checks if the list of ignored authors is overridden.","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileSizeLimit} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileSizeLimit File size limit of the repository.","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileSizeLimit(long fileSizeLimit) {","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileSizeLimit \u003d fileSizeLimit;","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitOverriding Checks if the file size limit is overridden.","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitOverriding(boolean isFileSizeLimitOverriding) {","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitOverriding \u003d isFileSizeLimitOverriding;","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoredFileAnalysisSkipped} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredFileAnalysisSkipped Checks if the analysis of ignored files is skipped.","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredFileAnalysisSkipped(boolean isIgnoredFileAnalysisSkipped) {","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredFileAnalysisSkipped \u003d isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the {@code RepoConfiguration} object with the necessary configurations.","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":" * @throws ConfigurationBuildException if there was an issue building the {@code RepoConfiguration}","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" * object.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" public RepoConfiguration build() {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" if (!validate()) {","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" throw new ConfigurationBuildException();","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" this.processAuthor();","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":" this.processBranch();","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" this.processNames();","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" // save a reference to the current built object","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration toReturn \u003d this.repoConfiguration;","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"asdfghjkxd"},"content":" // reset the internal reference to avoid aliasing","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" // return the reference to the built RepoConfiguration object","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"asdfghjkxd"},"content":" return toReturn;","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" * Checks if the current {@code RepoConfiguration} object contains all the necessary parameters","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" * needed to build successfully.","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" * @return true if the {@code RepoConfiguration} object contains all the necessary parameters else false","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" private boolean validate() {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"asdfghjkxd"},"content":" return Optional.ofNullable(this.repoConfiguration.location).isPresent();","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" public static void setDatesToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" config.setSinceDate(sinceDate);","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" config.setUntilDate(untilDate);","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" public static void setZoneIdToRepoConfigs(List\u003cRepoConfiguration\u003e configs, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" config.setZoneId(zoneId);","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" public static void setIsLastModifiedDateIncludedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(isLastModifiedDateIncluded);","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" public static void setIsShallowCloningPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsShallowCloningPerformed(true));","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" public static void setIsFindingPreviousAuthorsPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" if (isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsFindingPreviousAuthorsPerformed(true));","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" public static void setHasAuthorConfigFileToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" boolean setHasAuthorConfigFile) {","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setHasAuthorConfigFile(setHasAuthorConfigFile));","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" * Merges a {@link RepoConfiguration} from {@code repoConfigs} with an {@link AuthorConfiguration} from","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" * {@code authorConfigs} if their {@link RepoLocation} and branch matches.","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" public static void merge(List\u003cRepoConfiguration\u003e repoConfigs, List\u003cAuthorConfiguration\u003e authorConfigs) {","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : authorConfigs) {","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().isEmpty()) {","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" repoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e locationMatchingRepoConfigs \u003d","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" getMatchingRepoConfigsByLocation(repoConfigs, authorConfig.getLocation());","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (locationMatchingRepoConfigs.isEmpty()) {","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\",","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" authorConfig.getLocation()));","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" locationMatchingRepoConfigs.forEach(matchingRepoConfig -\u003e {","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" matchingRepoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" RepoConfiguration branchMatchingRepoConfig \u003d getMatchingRepoConfig(repoConfigs, authorConfig);","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" if (branchMatchingRepoConfig \u003d\u003d null) {","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" if (!authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" \"Repository %s (branch %s) is not found in repo-config.csv.\",","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" authorConfig.getLocation(), authorConfig.getBranch()));","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" branchMatchingRepoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" * Sets the list of groups in {@code groupConfigs} to the respective {@code repoConfigs}.","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":" public static void setGroupConfigsToRepos(List\u003cRepoConfiguration\u003e repoConfigs,","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs) {","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : groupConfigs) {","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e matchingRepoConfigs;","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().isEmpty()) {","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d repoConfigs;","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d getMatchingRepoConfigsByLocation(repoConfigs,","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":" groupConfig.getLocation());","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (matchingRepoConfigs.isEmpty()) {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\", groupConfig.getLocation()));","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" matchingRepoConfigs.forEach(matchingRepoConfig -\u003e {","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" matchingRepoConfig.addGroups(groupConfig.getGroupsList());","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" * Iterates through {@code repoConfigs} to find a {@link RepoConfiguration} with {@link RepoLocation} and branch","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" * that matches {@code authorConfig}. Returns {@code null} if no match is found.","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" private static RepoConfiguration getMatchingRepoConfig(List\u003cRepoConfiguration\u003e repoConfigs,","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (repoConfig.getLocation().equals(authorConfig.getLocation())","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":" \u0026\u0026 repoConfig.getBranch().equals(authorConfig.getBranch())) {","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" return repoConfig;","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Returns a list of {@link RepoConfiguration} where the {@link RepoLocation} of a {@link RepoConfiguration}","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" * in the list of {@code configs} matches {@code targetRepoLocation}.","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" private static List\u003cRepoConfiguration\u003e getMatchingRepoConfigsByLocation(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":" RepoLocation targetRepoLocation) {","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" return configs.stream().filter(config -\u003e config.getLocation().equals(targetRepoLocation))","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Sets {@code formats} to {@link RepoConfiguration} in {@code configs} if its format list is empty.","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" public static void setFormatsToRepoConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"-"},"content":" if (!config.fileTypeManager.hasSpecifiedFormats()) {","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"-"},"content":" config.fileTypeManager.setFormats(formats);","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its standalone config, if","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" * {@code ignoreAllStandaloneConfigs} is true.","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" public static void setStandaloneConfigIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" boolean ignoreAllStandaloneConfigs) {","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" if (ignoreAllStandaloneConfigs) {","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setStandaloneConfigIgnored(true));","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its filesize limit, if","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" * {@code ignoreFilesizeLimit} is true.","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" public static void setFileSizeLimitIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit) {","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" if (ignoreFileSizeLimit) {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setFileSizeLimitIgnored(true));","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Checks if any of the {@code configs} is finding previous authors for commit analysis.","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" public static boolean isAnyRepoFindingPreviousAuthors(List\u003cRepoConfiguration\u003e configs) {","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" return configs.stream().anyMatch(RepoConfiguration::isFindingPreviousAuthorsPerformed);","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" * Clears existing information related to this repository and its authors, and replaces it with information from","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" * {@code standaloneConfig}.","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" public void update(StandaloneConfig standaloneConfig) {","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" // only assign the new values when all the fields in {@code standaloneConfig} pass the validations.","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e replacementFileTypes \u003d FileType.convertFormatStringsToFileTypes(standaloneConfig.getFormats());","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" CommitHash.validateCommits(standaloneConfig.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" if (!isIgnoreGlobListOverriding) {","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" ignoreGlobList \u003d standaloneConfig.getIgnoreGlobList();","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" if (!isFormatsOverriding) {","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(replacementFileTypes);","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" if (!isIgnoreCommitListOverriding) {","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":" ignoreCommitList \u003d CommitHash.convertStringsToCommits(standaloneConfig.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" if (!isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" ignoredAuthorsList \u003d standaloneConfig.getIgnoreAuthorList();","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" if (!isFileSizeLimitOverriding) {","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d standaloneConfig.getFileSizeLimit();","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" authorConfig.update(standaloneConfig, ignoreGlobList);","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" * Returns the matching {@link Author} given a {@code name} and an {@code email}.","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":" * If no matching {@link Author} is found, {@link Author#UNKNOWN_AUTHOR} is returned.","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" public Author getAuthor(String name, String email) {","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" return authorConfig.getAuthor(name, email);","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Updates branch with {@code currentBranch} if default branch is specified.","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" public void updateBranch(String currentBranch) {","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" setBranch(currentBranch);","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":" * Gets the current branch and updates branch with current branch if default branch is specified.","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" * @throws GitBranchException if current branch cannot be retrieved.","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":" public void updateBranch() throws GitBranchException {","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(getRepoRoot());","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" setBranch(currentBranch);","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" * Gets the path to the root folder of the repository.","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" public String getRepoRoot() {","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" String path \u003d FileUtil.REPOS_ADDRESS + File.separator + getRepoFolderName() + File.separator;","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" if (!getRepoName().isEmpty()) {","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":" if (!extraOutputFolderName.isEmpty()) {","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" path +\u003d extraOutputFolderName + File.separator;","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" path +\u003d getRepoName() + File.separator;","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" return path;","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" * Gets the name of the folder containing the cloned repository; the parent directory of the repo\u0027s root folder.","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" public String getRepoFolderName() {","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":" return repoFolderName;","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (other \u003d\u003d this) {","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoConfiguration)) {","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"-"},"content":" RepoConfiguration otherRepoConfig \u003d (RepoConfiguration) other;","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" return location.equals(otherRepoConfig.location)","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"-"},"content":" \u0026\u0026 branch.equals(otherRepoConfig.branch)","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.equals(otherRepoConfig.authorConfig)","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoreGlobList.equals(otherRepoConfig.ignoreGlobList)","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoredAuthorsList.equals(otherRepoConfig.ignoredAuthorsList)","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"-"},"content":" \u0026\u0026 fileSizeLimit \u003d\u003d otherRepoConfig.fileSizeLimit","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":" \u0026\u0026 isStandaloneConfigIgnored \u003d\u003d otherRepoConfig.isStandaloneConfigIgnored","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" \u0026\u0026 fileTypeManager.equals(otherRepoConfig.fileTypeManager)","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" \u0026\u0026 isLastModifiedDateIncluded \u003d\u003d otherRepoConfig.isLastModifiedDateIncluded","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" \u0026\u0026 isFormatsOverriding \u003d\u003d otherRepoConfig.isFormatsOverriding","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":" \u0026\u0026 isShallowCloningPerformed \u003d\u003d otherRepoConfig.isShallowCloningPerformed","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreGlobListOverriding \u003d\u003d otherRepoConfig.isIgnoreGlobListOverriding","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreCommitListOverriding \u003d\u003d otherRepoConfig.isIgnoreCommitListOverriding","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredAuthorsListOverriding \u003d\u003d otherRepoConfig.isIgnoredAuthorsListOverriding","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitOverriding \u003d\u003d otherRepoConfig.isFileSizeLimitOverriding","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitIgnored \u003d\u003d otherRepoConfig.isFileSizeLimitIgnored","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredFileAnalysisSkipped \u003d\u003d otherRepoConfig.isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"-"},"content":" public Map\u003cAuthor, String\u003e getAuthorDisplayNameMap() {","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorDisplayNameMap();","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":" public void setAuthorDisplayNameMap(Map\u003cAuthor, String\u003e authorDisplayNameMap) {","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayNameMap(authorDisplayNameMap);","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"-"},"content":" public String getBranch() {","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"-"},"content":" return branch;","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"-"},"content":" public void setBranch(String branch) {","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"-"},"content":" updateDisplayName(branch);","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" updateOutputFolderName(branch);","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"-"},"content":" this.branch \u003d branch;","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" authorConfig.setBranch(branch);","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code displayName} to the current {@code branch}.","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void updateDisplayName(String branch) {","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName.substring(0, displayName.lastIndexOf(\u0027[\u0027) + 1) + branch + \"]\";","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code outputFolderName} to the current {@code branch}.","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" public void updateOutputFolderName(String branch) {","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" this.outputFolderName \u003d outputFolderName.substring(0, outputFolderName.lastIndexOf(\u0027_\u0027) + 1) + branch;","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" return ignoreGlobList;","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d ignoreGlobList;","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e getIgnoreCommitList() {","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" return ignoreCommitList;","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" public long getFileSizeLimit() {","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" return fileSizeLimit;","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void setIgnoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" this.ignoreCommitList \u003d ignoreCommitList;","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoredAuthorsList() {","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" return this.ignoredAuthorsList;","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" public void setIgnoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" this.ignoredAuthorsList \u003d ignoredAuthorsList;","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" public boolean isIgnoredAuthorsListOverriding() {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"-"},"content":" return this.isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void setIsLastModifiedDateIncluded(boolean lastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":" this.isLastModifiedDateIncluded \u003d lastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":" public void setIsShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"-"},"content":" this.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" public void setIsFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" this.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"-"},"content":" return this.isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":" return this.isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"-"},"content":" public void setIsIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"-"},"content":" this.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" public void removeIgnoredAuthors() {","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"-"},"content":" authorConfig.removeIgnoredAuthors(ignoredAuthorsList);","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"-"},"content":" public List\u003cAuthor\u003e getAuthorList() {","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorList();","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"-"},"content":" public void addAuthor(Author author) {","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" authorConfig.addAuthor(author, this.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"-"},"content":" public void addAuthors(List\u003cAuthor\u003e authorList) {","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"-"},"content":" authorConfig.addAuthors(authorList, this.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":" public void setAuthorConfiguration(AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"-"},"content":" this.authorConfig \u003d authorConfig;","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" for (Author author : authorConfig.getAuthorList()) {","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"-"},"content":" AuthorConfiguration.propagateIgnoreGlobList(author, ignoreGlobList);","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"-"},"content":" public boolean containsAuthor(Author author) {","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"-"},"content":" return authorConfig.containsAuthor(author);","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":" * Clears authors information and sets the {@code authorList} to {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"-"},"content":" public void setAuthorList(List\u003cAuthor\u003e authorList) {","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"-"},"content":" authorConfig.clear();","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"-"},"content":" authorConfig.setAuthorList(authorList);","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" authorConfig.buildFromAuthorList();","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" authorList.forEach(author -\u003e AuthorConfiguration.propagateIgnoreGlobList(author, this.getIgnoreGlobList()));","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" public void setHasAuthorConfigFile(boolean hasAuthorConfigFile) {","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"-"},"content":" authorConfig.setHasAuthorConfigFile(hasAuthorConfigFile);","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorNamesToAuthorMap() {","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorNamesToAuthorMap();","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"-"},"content":" public void setAuthorNamesToAuthorMap(Map\u003cString, Author\u003e authorNamesToAuthorMap) {","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"-"},"content":" authorConfig.setAuthorNamesToAuthorMap(authorNamesToAuthorMap);","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorEmailsToAuthorMap() {","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorEmailsToAuthorMap();","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"-"},"content":" public void setAuthorEmailsToAuthorMap(Map\u003cString, Author\u003e authorEmailsToAuthorMap) {","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"-"},"content":" authorConfig.setAuthorEmailsToAuthorMap(authorEmailsToAuthorMap);","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"-"},"content":" public void clearAuthorDetailsToAuthorMap() {","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"-"},"content":" authorConfig.clearAuthorDetailsToAuthorMap();","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"-"},"content":" public void setFormats(List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(formats);","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"-"},"content":" private void setGroups(List\u003cFileType\u003e groups) {","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"-"},"content":" fileTypeManager.setGroups(groups);","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"-"},"content":" public void addGroups(List\u003cFileType\u003e groups) {","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"-"},"content":" fileTypeManager.addGroups(groups);","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"-"},"content":" * Returns all format or group types (depending on whether the user has specified a custom grouping).","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getAllFileTypes() {","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"-"},"content":" return fileTypeManager.getAllFileTypes();","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"-"},"content":" public FileType getFileType(String fileName) {","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"-"},"content":" return fileTypeManager.getFileType(fileName);","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"-"},"content":" public FileTypeManager getFileTypeManager() {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"-"},"content":" return fileTypeManager;","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"-"},"content":" return sinceDate;","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"-"},"content":" public void setSinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"-"},"content":" return untilDate;","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"-"},"content":" public void setUntilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"-"},"content":" return zoneId;","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"-"},"content":" public void setZoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"-"},"content":" public void setAuthorDisplayName(Author author, String displayName) {","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayName(author, displayName);","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, String name) {","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, name);","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, List\u003cString\u003e names) {","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, names);","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"-"},"content":" public void addAuthorEmailsToAuthorMapEntry(Author author, List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"-"},"content":" authorConfig.addAuthorEmailsToAuthorMapEntry(author, emails);","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"-"},"content":" public String getDisplayName() {","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"-"},"content":" return displayName;","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"-"},"content":" public String getRepoName() {","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"-"},"content":" return location.getRepoName();","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"-"},"content":" public String getOutputFolderName() {","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"-"},"content":" return outputFolderName;","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"-"},"content":" public void setStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"-"},"content":" this.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"-"},"content":" public void setFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"-"},"content":" this.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"-"},"content":" public RepoLocation getLocation() {","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"-"},"content":" return location;","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"-"},"content":" public String getOrganization() {","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"-"},"content":" return location.getOrganization();","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"-"},"content":" public boolean isIgnoredFileAnalysisSkipped() {","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"-"},"content":" return isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"-"},"content":" public boolean isFormatsOverriding() {","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"-"},"content":" return isFormatsOverriding;","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"-"},"content":" public boolean isIgnoreGlobListOverriding() {","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"-"},"content":" return isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"-"},"content":" public boolean isIgnoreCommitListOverriding() {","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"-"},"content":" return isIgnoreCommitListOverriding;","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitOverriding() {","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"-"},"content":" return isFileSizeLimitOverriding;","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"-"},"content":" public AuthorConfiguration getAuthorConfig() {","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"-"},"content":" return authorConfig;","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":400,"-":617}},{"path":"src/main/java/reposense/model/RepoLocation.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.FileUtil.isValidPath;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.net.URI;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitRemote;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents a repository location.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoLocation {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected static final String UNSUPPORTED_DOMAIN_NAME \u003d \"NOT_RECOGNIZED\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_LOCATION \u003d \"%s is an invalid location.\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_REMOTE_URL \u003d \"%s is an invalid remote URL.\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String REPO_NAME_REGEX \u003d \"(?\u003crepoName\u003e[^/]+?)(/?\\\\.git)?/?\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String PATH_TO_REPO_REGEX \u003d \"(?\u003cpath\u003e.*?)/?\" + REPO_NAME_REGEX;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Pattern GIT_REPOSITORY_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(ssh|git|https?|ftps?)://(?\u003cdomain\u003e[^/]*?)/\" + PATH_TO_REPO_REGEX + \"$\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Pattern SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(.*@)?(?\u003cdomain\u003e.*?):(?\u003cpath\u003e[^/].*?)??/??\" + REPO_NAME_REGEX + \"$\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(file://)?\" + PATH_TO_REPO_REGEX + \"$\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Pattern.compile(\"^\" + PATH_TO_REPO_REGEX.replaceAll(\"/\", \"\\\\\\\\\\\\\\\\\") + \"$\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Pattern DOMAIN_NAME_PATTERN \u003d Pattern.compile(\"^(ww.\\\\.)?+(.*@)?(?\u003cdomainName\u003e[^.]+)\\\\..+$\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String GROUP_REPO_NAME \u003d \"repoName\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String GROUP_PATH \u003d \"path\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN_NAME \u003d \"domainName\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN \u003d \"domain\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String PATH_SEPARATOR_REPLACEMENT \u003d \"-\";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // Used for remote link generation (serialized)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private final String location;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private final String repoName;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private final String organization;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private final String domainName;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" // Used for generation of local repository report output directory","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private final transient String outputFolderRepoName;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private final transient String outputFolderOrganization;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Creates {@link RepoLocation} based on the {@code location}, which is represented by a {@code URL}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * or {@link Path}.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} cannot be represented by a {@code URL} or {@link Path}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public RepoLocation(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" location \u003d StringsUtil.removeTrailingBackslash(location);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.location \u003d location;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" String[] remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" String[] outputFolderRepoNameAndOrg;","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (location.isEmpty()) {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d new String[] {\"\", \"\", UNSUPPORTED_DOMAIN_NAME};","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" } else if (isLocalRepo(location)) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d getLocalRepoNameAndOrg(location);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d GitRemote.getRemotes(location);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String newLocation \u003d GitRemote.getAvailableRemoteLocation(remotes).orElse(location);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d remotes.size() \u003d\u003d 0","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" ? outputFolderRepoNameAndOrg","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" : getRemoteRepoNameAndOrg(newLocation);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d getRemoteRepoNameAndOrg(location);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.repoName \u003d remoteRepoNameAndOrg[0];","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.organization \u003d remoteRepoNameAndOrg[1];","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.domainName \u003d remoteRepoNameAndOrg[2];","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.outputFolderRepoName \u003d outputFolderRepoNameAndOrg[0];","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.outputFolderOrganization \u003d outputFolderRepoNameAndOrg[1];","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public boolean isEmpty() {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" return location.isEmpty();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public String getRepoName() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" return outputFolderRepoName;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" public String getOrganization() {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return outputFolderOrganization;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" public String getDomainName() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return domainName;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Returns true if {@code repoArgument} is a valid local repository argument.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * This implementation follows directly from the {@code git clone}","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://git-scm.com/docs/git-clone#_git_urls\"\u003especification\u003c/a\u003e.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean isLocalRepo(String repoArgument) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (!repoArgument.contains(\":\")) {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean hasSlashBeforeFirstColon \u003d repoArgument.split(\":\", 2)[0].contains(\"/\");","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasSlashBeforeFirstColon) {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // checks if it is a URL file protocol","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" String urlProtocol \u003d repoArgument.split(\"://\", 2)[0];","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (urlProtocol.equals(\"file\")) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" // catch disk drive arguments such as C:\\","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows() \u0026\u0026 isValidPath(repoArgument)) {","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name and organization from the given local repo {@code location}.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * The return is a length-3 string array with the repo name at index 0, organization at index 1","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * and domain name (unsupported domain) at index 2.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper local repository.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" private String[] getLocalRepoNameAndOrg(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean isWindows \u003d SystemUtil.isWindows();","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (isWindows) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"file://\", \"\");","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"/\", \"\\\\\\\\\");","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"[|:]\", \"-\");","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Pattern localRepoPattern \u003d isWindows","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" ? LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" : LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Matcher localRepoMatcher \u003d localRepoPattern.matcher(location);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (!localRepoMatcher.matches()) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_LOCATION, location));","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_LOCATION, location));","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String tempRepoName \u003d localRepoMatcher.group(GROUP_REPO_NAME);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(localRepoMatcher);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization, UNSUPPORTED_DOMAIN_NAME};","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name, organization and domain name from the given remote repo","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" * {@code location}. The return is a length-3 string array with the repo name at index 0,","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" * organization at index 1 and domain name at index 2.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper remote repository.","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String[] getRemoteRepoNameAndOrg(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" Matcher remoteRepoMatcher \u003d GIT_REPOSITORY_LOCATION_PATTERN.matcher(location);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" Matcher sshRepoMatcher \u003d SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN.matcher(location);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" boolean isNormalUrl \u003d remoteRepoMatcher.matches();","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (isNormalUrl) {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" new URI(location);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isValidRemoteRepoUrl \u003d remoteRepoMatcher.matches() || sshRepoMatcher.matches();","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" if (!isValidRemoteRepoUrl) {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" // priority for standard URL matches over SSH as SSH matcher will normally also match standard URL","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" Matcher actualMatcher \u003d remoteRepoMatcher.matches() ? remoteRepoMatcher : sshRepoMatcher;","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String tempRepoName \u003d actualMatcher.group(GROUP_REPO_NAME);","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(actualMatcher);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization,","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" getDomainNameFromDomain(actualMatcher.group(GROUP_DOMAIN))};","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" * Returns the organization string from the {@code matcher} if one exists.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" * If no match was found for it, returns an empty string instead.","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" private static String getOrganizationFromMatcher(Matcher matcher) {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" return Optional.ofNullable(matcher.group(GROUP_PATH))","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(s -\u003e Paths.get(s).normalize().toString())","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .map(s -\u003e s.replaceAll(Pattern.quote(FileSystems.getDefault().getSeparator()),","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" PATH_SEPARATOR_REPLACEMENT))","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .orElse(\"\");","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" * Returns the domain name of the URL from the {@code matcher} if it is one of the recognised ones.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Returns {@code UNRECOGNISED_DOMAIN_NAME} if it is a local repo or not recognised.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the domain specified is not a proper domain name.","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static String getDomainNameFromDomain(String domain) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Matcher domainNameMatcher \u003d DOMAIN_NAME_PATTERN.matcher(domain);","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" if (!domainNameMatcher.matches()) {","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(MESSAGE_INVALID_REMOTE_URL);","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" String domainName \u003d domainNameMatcher.group(GROUP_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" return isSupportedDomainName(domainName)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" ? domainName","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" : UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" private static boolean isSupportedDomainName(String domainName) {","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" return SupportedDomainUrlMap.isSupportedDomainName(domainName);","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" return location;","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoLocation)) {","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" RepoLocation otherLocation \u003d (RepoLocation) other;","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" return this.location.equals(otherLocation.location)","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 this.repoName.equals(otherLocation.repoName)","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u0026\u0026 this.organization.equals(otherLocation.organization)","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u0026\u0026 this.domainName.equals(otherLocation.domainName)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderRepoName.equals(otherLocation.outputFolderRepoName)","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderOrganization.equals(otherLocation.outputFolderOrganization);","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" return location.hashCode();","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":271}},{"path":"src/main/java/reposense/model/RunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Interface to get configurations for current RepoSense run.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public interface RunConfiguration {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e getRepoConfigurations()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" throws ParseException, IOException, InvalidCsvException, InvalidHeaderException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":15}},{"path":"src/main/java/reposense/parser/ArgsParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.ArgumentParsers;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.HelpArgumentAction;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.VersionArgumentAction;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentGroup;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.FeatureControl;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.MutuallyExclusiveGroup;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Namespace;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.RepoSense;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AlphanumericArgumentType;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AnalysisThreadsArgumentType;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AssetsFolderArgumentType;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.CloningThreadsArgumentType;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ConfigFolderArgumentType;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.OutputFolderArgumentType;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.PeriodArgumentType;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ReportFolderArgumentType;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.UntilDateArgumentType;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ZoneIdArgumentType;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"public class ArgsParser {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final String DEFAULT_REPORT_NAME \u003d \"reposense-report\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_CLONING_THREADS \u003d 4;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_ANALYSIS_THREADS \u003d Runtime.getRuntime().availableProcessors();","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_IS_TEST_MODE \u003d false;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_SHOULD_FRESH_CLONE \u003d false;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final double DEFAULT_ORIGINALITY_THRESHOLD \u003d 0.51;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String[] HELP_FLAGS \u003d new String[] {\"--help\", \"-h\"};","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final String[] CONFIG_FLAGS \u003d new String[] {\"--config\", \"-c\"};","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String[] REPO_FLAGS \u003d new String[] {\"--repo\", \"--repos\", \"-r\"};","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final String[] VIEW_FLAGS \u003d new String[] {\"--view\", \"-v\"};","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final String[] OUTPUT_FLAGS \u003d new String[] {\"--output\", \"-o\"};","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final String[] ASSETS_FLAGS \u003d new String[] {\"--assets\", \"-a\"};","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final String[] SINCE_FLAGS \u003d new String[] {\"--since\", \"-s\"};","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" public static final String[] UNTIL_FLAGS \u003d new String[] {\"--until\", \"-u\"};","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final String[] PERIOD_FLAGS \u003d new String[] {\"--period\", \"-p\"};","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" public static final String[] SHALLOW_CLONING_FLAGS \u003d new String[] {\"--shallow-cloning\", \"-S\"};","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final String[] FORMAT_FLAGS \u003d new String[] {\"--formats\", \"-f\"};","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_CONFIG_FLAGS \u003d new String[] {\"--ignore-standalone-config\", \"-i\"};","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_SIZELIMIT_FLAGS \u003d new String[] {\"--ignore-filesize-limit\", \"-I\"};","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" public static final String[] TIMEZONE_FLAGS \u003d new String[] {\"--timezone\", \"-t\"};","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public static final String[] VERSION_FLAGS \u003d new String[] {\"--version\", \"-V\"};","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static final String[] LAST_MODIFIED_DATE_FLAGS \u003d new String[] {\"--last-modified-date\", \"-l\"};","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String[] FIND_PREVIOUS_AUTHORS_FLAGS \u003d new String[] {\"--find-previous-authors\", \"-F\"};","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" public static final String[] CLONING_THREADS_FLAG \u003d new String[] {\"--cloning-threads\"};","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" public static final String[] ANALYSIS_THREADS_FLAG \u003d new String[] {\"--analysis-threads\"};","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static final String[] TEST_MODE_FLAG \u003d new String[] {\"--test-mode\"};","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" public static final String[] FRESH_CLONING_FLAG \u003d new String[] {\"--fresh-cloning\"};","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static final String[] ANALYZE_AUTHORSHIP_FLAGS \u003d new String[] {\"--analyze-authorship\", \"-A\"};","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public static final String[] ORIGINALITY_THRESHOLD_FLAGS \u003d new String[] {\"--originality-threshold\", \"-ot\"};","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ArgsParser.class);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String PROGRAM_USAGE \u003d \"java -jar RepoSense.jar\";","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String PROGRAM_DESCRIPTION \u003d","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"RepoSense is a contribution analysis tool for Git repositories.\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_MUTEX \u003d \"mutual exclusive arguments\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_TESTING \u003d \"test mode arguments\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD \u003d","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\", \\\"Until Date\\\", and \\\"Period\\\" cannot be applied together.\";","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static final String MESSAGE_USING_DEFAULT_CONFIG_PATH \u003d","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"Config path not provided, using the config folder as default.\";","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_PATH \u003d \"%s is malformed.\";","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the report config provided.\";","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" private static final String MESSAGE_INVALID_MARKDOWN_BLURBS \u003d \"%s Ignoring the blurb file provided.\";","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_D1_WITH_PERIOD \u003d \"You may be using --since d1 with the --period flag. \"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" + \"This may result in an incorrect date range being analysed.\";","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE \u003d","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" cannot be later than \\\"Until Date\\\".\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE \u003d","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" must not be later than today\u0027s date.\";","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_CONFIG_PATH \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_ASSETS_PATH \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" + File.separator + \"assets\" + File.separator);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" private static ArgumentParser getArgumentParser() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d ArgumentParsers","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .newFor(PROGRAM_USAGE)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .addHelp(false)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .build()","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .description(PROGRAM_DESCRIPTION);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser \u003d parser","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .required(false);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser2 \u003d parser","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .required(false);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" ArgumentGroup argumentGroup \u003d parser","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .addArgumentGroup(MESSAGE_HEADER_TESTING);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" // Boolean flags","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" parser.addArgument(HELP_FLAGS)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" .help(\"Show help message.\")","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .action(new HelpArgumentAction());","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" parser.version(\"RepoSense \" + RepoSense.getVersion());","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" parser.addArgument(VERSION_FLAGS)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .help(\"Show the version of RepoSense.\")","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .action(new VersionArgumentAction());","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_CONFIG_FLAGS)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .dest(IGNORE_CONFIG_FLAGS[0])","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the standalone config file in the repo.\");","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_SIZELIMIT_FLAGS)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .dest(IGNORE_SIZELIMIT_FLAGS[0])","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the filesize limit for analyzed files.\");","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" parser.addArgument(VIEW_FLAGS)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .dest(VIEW_FLAGS[0])","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .nargs(\"?\")","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .type(new ReportFolderArgumentType())","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .setConst(EMPTY_PATH)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .help(\"Starts a server to display the report in the provided directory. \"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" + \"If used as a flag (with no argument), \"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" + \"generates a report and automatically displays the report.\");","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" parser.addArgument(OUTPUT_FLAGS)","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" .dest(OUTPUT_FLAGS[0])","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .type(new OutputFolderArgumentType())","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .setDefault(Paths.get(ArgsParser.DEFAULT_REPORT_NAME))","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .help(\"The directory to output the report folder, reposense-report. \"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" + \"If not provided, the report folder will be created in the current working directory.\");","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" parser.addArgument(ASSETS_FLAGS)","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .dest(ASSETS_FLAGS[0])","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(new AssetsFolderArgumentType())","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ASSETS_PATH)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .help(\"The directory to place assets files to customize report generation. \"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" + \"If not provided, the assets folder in the current working directory will be used.\");","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" parser.addArgument(SINCE_FLAGS)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .dest(SINCE_FLAGS[0])","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .type(new SinceDateArgumentType())","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" .help(\"The date to start filtering.\");","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" parser.addArgument(UNTIL_FLAGS)","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" .dest(UNTIL_FLAGS[0])","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .type(new UntilDateArgumentType())","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .help(\"The date to stop filtering.\");","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" parser.addArgument(PERIOD_FLAGS)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .dest(PERIOD_FLAGS[0])","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .metavar(\"PERIOD\")","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .type(new PeriodArgumentType())","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" .help(\"The number of days of the filtering window.\");","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" parser.addArgument(FORMAT_FLAGS)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .dest(FORMAT_FLAGS[0])","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .nargs(\"*\")","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .metavar(\"FORMAT\")","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .type(new AlphanumericArgumentType())","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .setDefault(Collections.emptyList())","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .help(\"The alphanumeric file formats to process.\\n\"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" + \"If not provided, default file formats will be used.\\n\"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" + \"Please refer to userguide for more information.\");","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" parser.addArgument(TIMEZONE_FLAGS)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .dest(TIMEZONE_FLAGS[0])","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .metavar(\"ZONE_ID[±hh[mm]]\")","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" .type(new ZoneIdArgumentType())","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .setDefault(ZoneId.systemDefault())","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .help(\"The timezone to use for the generated report. \"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" + \"One kind of valid timezones is relative to UTC. E.g. UTC, UTC+08, UTC-1030. \\n\"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" + \"If not provided, system default timezone will be used.\");","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" parser.addArgument(FIND_PREVIOUS_AUTHORS_FLAGS)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" .dest(FIND_PREVIOUS_AUTHORS_FLAGS[0])","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense utilize Git blame\u0027s ignore revisions functionality, RepoSense \"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" + \"will attempt to blame the line changes caused by commits in the ignore commit list to the \"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" + \"previous authors who altered those lines (if available)\");","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYZE_AUTHORSHIP_FLAGS)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" .dest(ANALYZE_AUTHORSHIP_FLAGS[0])","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .help(\"Performs further analysis to distinguish between partial and full credit attribution for \"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" + \"lines of code assigned to the author. A darker background colour represents full credit, \"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" + \"while a lighter background colour represents partial credit.\");","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" parser.addArgument(ORIGINALITY_THRESHOLD_FLAGS)","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .dest(ORIGINALITY_THRESHOLD_FLAGS[0])","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .metavar(\"(0.0 ~ 1.0)\")","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" .type(new OriginalityThresholdArgumentType())","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ORIGINALITY_THRESHOLD)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" .help(\"Specifies the cut-off point for partial and full credit when further analysis of authorship \"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" + \"is performed. Author will be given full credit if their contribution exceeds this \"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" + \"threshold, else partial credit is given.\");","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" // Mutex flags - these will always be the last parameters in help message.","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" mutexParser.addArgument(CONFIG_FLAGS)","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" .dest(CONFIG_FLAGS[0])","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" .type(new ConfigFolderArgumentType())","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_CONFIG_PATH)","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .help(\"The directory containing the config files.\"","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" + \"If not provided, the config files will be obtained from the config folder.\");","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" mutexParser.addArgument(REPO_FLAGS)","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" .nargs(\"+\")","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .dest(REPO_FLAGS[0])","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .metavar(\"LOCATION\")","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .help(\"The remote Git host URLs or local directories to clone the repositories from.\");","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(LAST_MODIFIED_DATE_FLAGS)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .dest(LAST_MODIFIED_DATE_FLAGS[0])","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" .help(\"A flag to keep track of the last modified date of each line of code.\");","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(SHALLOW_CLONING_FLAGS)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" .dest(SHALLOW_CLONING_FLAGS[0])","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense employ Git\u0027s shallow cloning functionality, which can significantly \"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" + \"reduce the time taken to clone large repositories. This flag should not be used for \"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" + \"smaller repositories, where the .git file is smaller than 500 MB.\");","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" parser.addArgument(CLONING_THREADS_FLAG)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .dest(CLONING_THREADS_FLAG[0])","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" .type(new CloningThreadsArgumentType())","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_CLONING_THREADS)","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYSIS_THREADS_FLAG)","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" .dest(ANALYSIS_THREADS_FLAG[0])","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" .type(new AnalysisThreadsArgumentType())","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_ANALYSIS_THREADS)","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" // Testing flags","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(TEST_MODE_FLAG)","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" .dest(TEST_MODE_FLAG[0])","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" .help(\"Enables testing mode.\");","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(FRESH_CLONING_FLAG)","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" .dest(FRESH_CLONING_FLAG[0])","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" .help(\"Enables fresh cloning. Requires testing mode to be enabled.\");","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" return parser;","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" * Parses the given string {@code args} to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" * @throws HelpScreenException if given args contain the --help flag. Help message will be printed out","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" * by the {@link ArgumentParser} hence this is to signal to the caller that the program is safe to exit.","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" * @throws ParseException if the given string arguments fails to parse to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" public static CliArguments parse(String[] args) throws HelpScreenException, ParseException {","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d getArgumentParser();","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Namespace results;","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" results \u003d parser.parseArgs(args);","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" } catch (HelpScreenException hse) {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" throw hse;","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" } catch (ArgumentParserException ape) {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" throw new ParseException(getArgumentParser().formatUsage() + ape.getMessage() + \"\\n\");","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" Path reportFolderPath \u003d results.get(VIEW_FLAGS[0]);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" Path outputFolderPath \u003d results.get(OUTPUT_FLAGS[0]);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Path assetsFolderPath \u003d results.get(ASSETS_FLAGS[0]);","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(results.get(FORMAT_FLAGS[0]));","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d results.get(IGNORE_CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d results.get(IGNORE_SIZELIMIT_FLAGS[0]);","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" boolean shouldIncludeLastModifiedDate \u003d results.get(LAST_MODIFIED_DATE_FLAGS[0]);","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" boolean shouldPerformShallowCloning \u003d results.get(SHALLOW_CLONING_FLAGS[0]);","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" boolean shouldFindPreviousAuthors \u003d results.get(FIND_PREVIOUS_AUTHORS_FLAGS[0]);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" boolean isTestMode \u003d results.get(TEST_MODE_FLAG[0]);","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" boolean isAuthorshipAnalyzed \u003d results.get(ANALYZE_AUTHORSHIP_FLAGS[0]);","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" double originalityThreshold \u003d results.get(ORIGINALITY_THRESHOLD_FLAGS[0]);","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" int numCloningThreads \u003d results.get(CLONING_THREADS_FLAG[0]);","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" int numAnalysisThreads \u003d results.get(ANALYSIS_THREADS_FLAG[0]);","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" CliArguments.Builder cliArgumentsBuilder \u003d new CliArguments.Builder()","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" .configFolderPath(configFolderPath)","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" .reportDirectoryPath(reportFolderPath)","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .outputFilePath(outputFolderPath)","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .zoneId(zoneId)","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" .assetsFilePath(assetsFolderPath)","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" .locations(locations)","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" .formats(formats)","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" .isLastModifiedDateIncluded(shouldIncludeLastModifiedDate)","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" .isShallowCloningPerformed(shouldPerformShallowCloning)","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" .isFindingPreviousAuthorsPerformed(shouldFindPreviousAuthors)","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .numCloningThreads(numCloningThreads)","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" .numAnalysisThreads(numAnalysisThreads)","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" .isTestMode(isTestMode)","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" .isAuthorshipAnalyzed(isAuthorshipAnalyzed)","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" .originalityThreshold(originalityThreshold);","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" LogsManager.setLogFolderLocation(outputFolderPath);","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)) {","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" logger.info(MESSAGE_USING_DEFAULT_CONFIG_PATH);","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" addReportConfigToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" addBlurbMapToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" addAnalysisDatesToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" boolean isViewModeOnly \u003d reportFolderPath !\u003d null","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH)","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0026\u0026 locations \u003d\u003d null;","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isViewModeOnly(isViewModeOnly);","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" boolean isAutomaticallyLaunching \u003d reportFolderPath !\u003d null;","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" if (isAutomaticallyLaunching \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH) \u0026\u0026 !isViewModeOnly) {","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" logger.info(String.format(\"Ignoring argument \u0027%s\u0027 for --view.\", reportFolderPath.toString()));","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isAutomaticallyLaunching(isAutomaticallyLaunching);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" boolean shouldPerformFreshCloning \u003d isTestMode","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" ? results.get(FRESH_CLONING_FLAG[0])","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" : DEFAULT_SHOULD_FRESH_CLONE;","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isFreshClonePerformed(shouldPerformFreshCloning);","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" return cliArgumentsBuilder.build();","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" * Adds the reportConfig field to the given {@code builder}.","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the reportConfig field.","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" private static void addReportConfigToBuilder(CliArguments.Builder builder, Namespace results) {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" // Report config is ignored if --repos is provided","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null) {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" Path reportConfigFilePath \u003d configFolderPath.resolve(ReportConfigJsonParser.REPORT_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" reportConfig \u003d new ReportConfigJsonParser().parse(reportConfigFilePath);","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_PATH, reportConfigFilePath));","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON, iae.getMessage()));","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" // IOException thrown as report-config.json is not found.","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" // Ignore exception as the file is optional.","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" builder.reportConfiguration(reportConfig);","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * Adds the blurbMap field to the given {@code builder}.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" * @param builder Builder to be supplied with the reportConfig field.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" private static void addBlurbMapToBuilder(CliArguments.Builder builder, Namespace results) {","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" // Blurbs are parsed regardless","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" Path blurbConfigPath \u003d configFolderPath.resolve(BlurbMarkdownParser.DEFAULT_BLURB_FILENAME);","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" try {","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap \u003d new BlurbMarkdownParser(blurbConfigPath).parse();","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" } catch (InvalidMarkdownException ex) {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" logger.warning(String.format(MESSAGE_INVALID_MARKDOWN_BLURBS, ex.getMessage()));","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" // IOException thrown as blurbs.md is not found.","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":" // Ignore exception as the file is optional.","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" builder.blurbMap(blurbMap);","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" * Adds the sinceDate and untilDate fields for analysis to the given {@code builder}.","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the sinceDate and untilDate fields","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" * @throws ParseException if all of sinceDate, untilDate and (analysis) period is provided","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" * or if the sinceDate is invalid.","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" private static void addAnalysisDatesToBuilder(CliArguments.Builder builder, Namespace results)","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" throws ParseException {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliSinceDate \u003d results.get(SINCE_FLAGS[0]);","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliUntilDate \u003d results.get(UNTIL_FLAGS[0]);","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" Optional\u003cInteger\u003e cliPeriod \u003d results.get(PERIOD_FLAGS[0]);","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" boolean isSinceDateProvided \u003d cliSinceDate.isPresent();","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" boolean isUntilDateProvided \u003d cliUntilDate.isPresent();","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" boolean isPeriodProvided \u003d cliPeriod.isPresent();","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" if (isSinceDateProvided \u0026\u0026 isUntilDateProvided \u0026\u0026 isPeriodProvided) {","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD);","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" boolean isUsingArbitraryDate \u003d false;","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d TimeUtil.getCurrentDate(zoneId);","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" if (isSinceDateProvided) {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getSinceDate(cliSinceDate.get());","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" // For --since d1, need to adjust the arbitrary date based on timezone","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" if (TimeUtil.isEqualToArbitraryFirstDateUtc(sinceDate)) {","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" isUsingArbitraryDate \u003d true;","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(zoneId);","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" } else if (isUntilDateProvided) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(cliUntilDate.get(), cliPeriod.get())","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(cliUntilDate.get());","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(currentDate, cliPeriod.get())","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(currentDate);","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" if (isPeriodProvided \u0026\u0026 isUsingArbitraryDate) {","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_SINCE_D1_WITH_PERIOD);","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (isUntilDateProvided) {","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" untilDate \u003d TimeUtil.getUntilDate(cliUntilDate.get());","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" untilDate \u003d (isSinceDateProvided \u0026\u0026 isPeriodProvided)","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" ? TimeUtil.getDatePlusNDays(cliSinceDate.get(), cliPeriod.get())","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" : currentDate;","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" untilDate \u003d untilDate.compareTo(currentDate) \u003c 0","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" ? untilDate","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" : currentDate;","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(currentDate) \u003e 0) {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE);","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(untilDate) \u003e 0) {","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" builder.sinceDate(sinceDate)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" .isSinceDateProvided(isSinceDateProvided)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" .untilDate(untilDate)","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" .isUntilDateProvided(isUntilDateProvided);","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":41,"-":462}},{"path":"src/main/java/reposense/parser/AuthorConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code author-config.csv} file.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AuthorConfigCsvParser extends CsvParser\u003cAuthorConfiguration\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" public static final String AUTHOR_CONFIG_FILENAME \u003d \"author-config.csv\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in author-config.csv config file.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String[] GIT_ID_HEADERS \u003d {\"Author\u0027s Git Host ID\", \"Author\u0027s GitHub ID\"};","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String[] EMAIL_HEADER \u003d {\"Author\u0027s Emails\"};","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String[] DISPLAY_NAME_HEADER \u003d {\"Author\u0027s Display Name\"};","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String[] ALIAS_HEADER \u003d {\"Author\u0027s Git Author Name\"};","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public AuthorConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" GIT_ID_HEADERS,","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" LOCATION_HEADER, BRANCH_HEADER, EMAIL_HEADER, DISPLAY_NAME_HEADER, ALIAS_HEADER,","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" IGNORE_GLOB_LIST_HEADER,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link AuthorConfiguration} into {@code results}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * but skips {@code author} already exists in a {@link AuthorConfiguration} that has same {@code location}","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" * and {@code branch}.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cAuthorConfiguration\u003e results, CSVRecord record) throws ParseException {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" List\u003cString\u003e locationsWithBranches \u003d getAsListOrDefault(record, LOCATION_HEADER);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, AuthorConfiguration.DEFAULT_BRANCH);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String gitId \u003d get(record, GIT_ID_HEADERS);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d getAsList(record, EMAIL_HEADER);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" String displayName \u003d get(record, DISPLAY_NAME_HEADER);","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases \u003d getAsList(record, ALIAS_HEADER);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsList(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" for (String locationWithBranches : locationsWithBranches) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedLocationWithBranches \u003d AuthorConfigLocationParser","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .parseLocation(locationWithBranches, branch);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" String currLocation \u003d parsedLocationWithBranches.get(0);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c parsedLocationWithBranches.size(); i++) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String currBranch \u003d parsedLocationWithBranches.get(i);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" registerLocationAndBranch(results, gitId, emails, displayName, aliases,","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" ignoreGlobList, currLocation, currBranch);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Registers an author for a single location and branch with the information","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * provided by each line.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private void registerLocationAndBranch(List\u003cAuthorConfiguration\u003e results, String gitId,","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails, String displayName,","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases, List\u003cString\u003e ignoreGlobList,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" String currLocation, String currBranch) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d findMatchingAuthorConfiguration(results, currLocation, currBranch);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" Author author \u003d new Author(gitId);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (config.containsAuthor(author)) {","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"Skipping author as %s already in repository %s %s\",","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" author.getGitId(), config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" author.setEmails(new ArrayList\u003c\u003e(emails));","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" author.setDisplayName(!displayName.isEmpty() ? displayName : author.getGitId());","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (!aliases.isEmpty()) {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" author.setAuthorAliases(aliases);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (!ignoreGlobList.isEmpty()) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(ignoreGlobList);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" config.addAuthor(author);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Gets an existing {@link AuthorConfiguration} from {@code results} if {@code location} and {@code branch} matches.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link AuthorConfiguration} into {@code results} and returns it.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" private static AuthorConfiguration findMatchingAuthorConfiguration(List\u003cAuthorConfiguration\u003e results,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" String location, String branch) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d new AuthorConfiguration(new RepoLocation(location), branch);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : results) {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().equals(config.getLocation())","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.getBranch().equals(config.getBranch())) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return authorConfig;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return config;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":136}},{"path":"src/main/java/reposense/parser/BlurbMarkdownParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.MalformedURLException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.URL;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" * Parses the Markdown file and retrieves the mappings from URLs to blurbs from the blurbs","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" * configuration file.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMarkdownParser extends MarkdownParser\u003cBlurbMap\u003e {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern DELIMITER \u003d Pattern.compile(\"\u003c!--repo--\u003e(.*)\");","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" public static final String DEFAULT_BLURB_FILENAME \u003d \"blurbs.md\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private static final class UrlRecord {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private final String url;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private final int nextPosition;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" public UrlRecord(String url, int nextPosition) {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" this.url \u003d url;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" this.nextPosition \u003d nextPosition;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" public String getUrl() {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" return url;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" public int getNextPosition() {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" return nextPosition;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private static final class BlurbRecord {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private final List\u003cString\u003e blurb;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" private final int nextPosition;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbRecord(List\u003cString\u003e blurb, int nextPosition) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" this.blurb \u003d blurb;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" this.nextPosition \u003d nextPosition;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" public List\u003cString\u003e getBlurb() {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" return blurb;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" public int getNextPosition() {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" return nextPosition;","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMarkdownParser(Path markdownPath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" super(markdownPath);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" * Parses the markdown file containing the url to blurb mapping and returns a","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" * {@code BlurbMap} containing the mappings between the url and blurbs.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code BlurbMap} object.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" * @throws IOException if there are any issues opening or parsing the {@code blurbs.md} file.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" @Override","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap parse() throws IOException, InvalidMarkdownException {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.INFO, \"Parsing Blurbs...\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" // read all the lines first","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e mdLines \u003d Files.readAllLines(this.markdownPath);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":" // if the file is empty, then we throw the exception and let the adder handle","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" if (mdLines.isEmpty()) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" throw new InvalidMarkdownException(\"Empty blurbs.md file\");","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" // prepare the blurb map","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" // define temporary local variables to track blurbs","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" String url \u003d \"\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" StringBuilder blurb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" int counter \u003d 0;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" while (counter \u003c mdLines.size()) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" // extract the url record first","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" // this is guaranteed to be in the first line or else we fail","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" UrlRecord urlRecord \u003d this.getUrlRecord(mdLines, counter);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" url \u003d urlRecord.getUrl();","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" counter \u003d urlRecord.getNextPosition();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" // then extract the blurb record next","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" // we extract until the delimiter is found and then we will stop","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" BlurbRecord blurbRecord \u003d this.getBlurbRecord(mdLines, counter);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e blurbExtracted \u003d blurbRecord.getBlurb();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" for (String string : blurbExtracted) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":" blurb.append(string);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" counter \u003d blurbRecord.getNextPosition();","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":" // add the recorded entry into the BlurbMap","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" // strip the trailing /n","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap.withRecord(url, blurb.toString().stripTrailing());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" blurb.setLength(0);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":" // return the built BlurbMap instance","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.INFO, \"Blurbs parsed successfully!\");","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" return blurbMap;","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" private UrlRecord getUrlRecord(List\u003cString\u003e lines, int position) throws InvalidMarkdownException {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" // checks if url is valid","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" // adapted from https://www.baeldung.com/java-validate-url","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":" try {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" String url \u003d lines.get(position).strip();","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" new URL(url).toURI();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" return new UrlRecord(lines.get(position), position + 1);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" } catch (MalformedURLException | URISyntaxException ex) {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" throw new InvalidMarkdownException(\"URL provided is not valid!\");","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" private BlurbRecord getBlurbRecord(List\u003cString\u003e lines, int position) {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" int lineSize \u003d lines.size();","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" int posCounter \u003d position;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e blurbs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" while (posCounter \u003c lineSize) {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" String currLine \u003d lines.get(posCounter);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" if (BlurbMarkdownParser.DELIMITER.matcher(currLine).matches()) {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" break;","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" } else {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" currLine +\u003d \"\\n\";","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" blurbs.add(currLine);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" posCounter++;","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" return new BlurbRecord(blurbs, posCounter + 1);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":151}},{"path":"src/main/java/reposense/parser/ConfigurationBuildException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Signals that there was an issue building a Configuration (missing parameters, etc.).","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class ConfigurationBuildException extends RuntimeException {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":8}},{"path":"src/main/java/reposense/parser/CsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.StringJoiner;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVFormat;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Contains CSV parsing related functionalities.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"public abstract class CsvParser\u003cT\u003e {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" protected static final String COLUMN_VALUES_SEPARATOR \u003d \";\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(CsvParser.class);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String EMPTY_STRING \u003d \"\";","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String OVERRIDE_KEYWORD \u003d \"override:\";","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_LINE \u003d \"[EMPTY LINE]\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNABLE_TO_READ_CSV_FILE \u003d \"Unable to read the supplied CSV file.\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_LINE_FORMAT \u003d \"Line %d in CSV file, %s, is malformed.\\n\"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"Content: %s\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_PARSE_EXCEPTION_FORMAT \u003d \"Error parsing line %d in CSV file, %s.\\n\"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" + \"Content: %s\\n\"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" + \"Error: %s\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_CSV_FORMAT \u003d \"The CSV file, %s, is empty.\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MANDATORY_HEADER_MISSING \u003d \"Required column header, %s, not found in \"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" + \"CSV file, %s\";","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MESSAGE_DUPLICATE_COLUMN_HEADER \u003d \"Duplicate columns are present in CSV file, %s.\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COLUMNS_RECOGNIZED \u003d \"Parsed header of CSV file, %s, and recognized columns: \"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \"%s\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ZERO_VALID_CONFIGS \u003d \"No valid configurations in the %s.\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNKNOWN_COLUMN \u003d \"Unknown column(s) found: %s (%s)\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" private Path csvFilePath;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private Map\u003cString, Integer\u003e headerMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private int numOfLinesBeforeFirstRecord \u003d 0;","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Creates {@link CsvParser} with given {@code csvFilepath}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" * @throws FileNotFoundException if the csv file cannot be found in the provided {@code csvFilePath}.","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" public CsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (csvFilePath \u003d\u003d null || !Files.exists(csvFilePath)) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new FileNotFoundException(\"Csv file does not exist at the given path.\\n\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.csvFilePath \u003d csvFilePath;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Parses the csv file associated with this instance of the {@link CsvParser} and returns a {@link List}","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" * containing the records in this file.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws IOException if there are errors accessing the given csv file.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the csv is malformed.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" public List\u003cT\u003e parse() throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" List\u003cT\u003e results \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Iterable\u003cCSVRecord\u003e records;","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" try (BufferedReader csvReader \u003d new BufferedReader(new FileReader(csvFilePath.toFile()))) {","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" String[] header \u003d getHeader(csvReader);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" records \u003d CSVFormat.Builder.create(CSVFormat.DEFAULT).setIgnoreEmptyLines(false).setHeader(header)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .setTrim(true).setIgnoreHeaderCase(true).build().parse(csvReader);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" String.format(MESSAGE_DUPLICATE_COLUMN_HEADER, csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" for (CSVRecord record : records) {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (isLineMalformed(record)) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" processLine(results, record);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_LINE_PARSE_EXCEPTION_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record), pe.getMessage()));","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, iae.getMessage(), iae);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" throw new IOException(MESSAGE_UNABLE_TO_READ_CSV_FILE, ioe);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (results.isEmpty()) {","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(MESSAGE_ZERO_VALID_CONFIGS, csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" return results;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Returns the header of a CSV file, which is assumed to be the first non-empty / non-whitespace line in the file","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" * read by {@code reader}.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" * The line is split into an array of {@code String}s, using the comma symbol as delimiter.","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @throws IOException if there is an error accessing the file.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the file has only empty or blank lines.","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read.","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" private String[] getHeader(BufferedReader reader) throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" String currentLine \u003d \"\";","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // read from file until we encounter a line that is neither blank nor empty","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" while (currentLine.isEmpty()) {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" currentLine \u003d Optional.ofNullable(reader.readLine())","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .map(String::trim)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .orElseThrow(() -\u003e new InvalidCsvException(String.format(","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" MESSAGE_EMPTY_CSV_FORMAT, csvFilePath.getFileName())));","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" numOfLinesBeforeFirstRecord++;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" String[] header \u003d currentLine.split(\",\");","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" validateHeader(header);","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" return header;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Returns true if {@code record} does not contain the same number of columns as the header or contains missing","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" * values at the mandatory columns in CSV format.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" private boolean isLineMalformed(CSVRecord record) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (!record.isConsistent()) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" boolean isLineFormatMalformed \u003d","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).allMatch(header -\u003e get(record, header).isEmpty());","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (isLineFormatMalformed) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column with the header {@code header}.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String header) {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" return headerMap.containsKey(header) ? record.get(headerMap.get(header)).trim() : EMPTY_STRING;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}.","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" for (String header : equivalentHeaders) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (headerMap.containsKey(header)) {","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" return record.get(headerMap.get(header)).trim();","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" return EMPTY_STRING;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} if present, or returns {@code defaultValue} otherwise.","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected String getOrDefault(final CSVRecord record, String[] equivalentHeaders, String defaultValue) {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" return value.isEmpty() ? defaultValue : value;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} as a {@link List} if it is in {@code record} and not empty.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" * The column is delimited by {@code COLUMN_VALUES_SEPARATOR}.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Returns an empty {@link List} otherwise.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsList(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" return Collections.emptyList();","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" return Arrays.stream(value.split(COLUMN_VALUES_SEPARATOR))","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .map(String::trim)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at {@code colNum} as a {@code List},","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" * delimited by {@code COLUMN_VALUES_SEPARATOR} if it is in {@code record} and not empty, or","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * returns a single element List containing the empty string otherwise.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListOrDefault(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e list \u003d getAsList(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" return list.isEmpty() ? Collections.singletonList(\"\") : list;","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" * Returns the values in {@code record} as a list with the {@link CsvParser#OVERRIDE_KEYWORD} prefix removed.","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns an empty list if {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is empty.","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListWithoutOverridePrefix(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cString\u003e data \u003d getAsList(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (isElementOverridingStandaloneConfig(record, equivalentHeaders)) {","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" data.set(0, data.get(0).replaceFirst(OVERRIDE_KEYWORD, \"\"));","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" data.removeIf(String::isEmpty);","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" return data;","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" private long getLineNumber(final CSVRecord record) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" return record.getRecordNumber() + numOfLinesBeforeFirstRecord;","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Returns true if the {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is prefixed with the override keyword.","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected boolean isElementOverridingStandaloneConfig(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return get(record, equivalentHeaders).startsWith(OVERRIDE_KEYWORD);","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Returns the contents of {@code record} as a raw string.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" private String getRowContentAsRawString(final CSVRecord record) {","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" StringJoiner inputRowString \u003d new StringJoiner(\",\");","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" for (String value : record) {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" inputRowString.add(value);","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" String contentAsString \u003d inputRowString.toString();","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" return (contentAsString.trim().isEmpty()) ? MESSAGE_EMPTY_LINE : contentAsString;","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Generates map of column header to position number for input {@code possibleHeader}.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if {@code possibleHeader} does not contain all the mandatory headers.","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if a column in {@code possibleHeader} cannot be parsed.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" private void validateHeader(String[] possibleHeader) throws InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" int headerSize \u003d possibleHeader.length;","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Set\u003cString\u003e knownColumns \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" ArrayList\u003cString\u003e unknownColumns \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedHeaders \u003d mandatoryAndOptionalHeaders();","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c headerSize; i++) {","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" String possible \u003d possibleHeader[i].trim();","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" for (String parsedHeader : parsedHeaders) {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (possible.equalsIgnoreCase(parsedHeader)) {","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" headerMap.put(parsedHeader, i);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" knownColumns.add(possible);","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" break;","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (!knownColumns.contains(possible)) {","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" unknownColumns.add(possible);","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (unknownColumns.size() \u003e 0) {","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.join(\", \", unknownColumns);","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" throw new InvalidHeaderException(","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" String.format(MESSAGE_UNKNOWN_COLUMN, errorMessage, csvFilePath.toString()));","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isAnyEquivalentHeaderPresent \u003d","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).anyMatch(header -\u003e headerMap.containsKey(header));","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (!isAnyEquivalentHeaderPresent) {","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" MESSAGE_MANDATORY_HEADER_MISSING, Arrays.toString(equivalentHeaders),","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COLUMNS_RECOGNIZED, csvFilePath.getFileName(),","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" String.join(\", \", headerMap.keySet())));","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" protected abstract String[][] mandatoryHeaders();","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" protected abstract String[][] optionalHeaders();","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Gets the list of all mandatory and optional headers that can be parsed.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e mandatoryAndOptionalHeaders() {","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" return Stream.concat(Arrays.stream(mandatoryHeaders()), Arrays.stream(optionalHeaders()))","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .flatMap(Stream::of)","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" * Processes the csv file line by line.","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" * All {@link CsvParser}s must use {@link CsvParser#get}, {@link CsvParser#getOrDefault},","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" * {@link CsvParser#getAsList} or {@link CsvParser#getAsListWithoutOverridePrefix} to read contents in","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" * {@code record} and add created objects into {@code results}.","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @throws ParseException if any line does not get read successfully.","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" protected abstract void processLine(List\u003cT\u003e results, final CSVRecord record) throws ParseException;","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":339}},{"path":"src/main/java/reposense/parser/GroupConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code group-config.csv} file.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GroupConfigCsvParser extends CsvParser\u003cGroupConfiguration\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String GROUP_CONFIG_FILENAME \u003d \"group-config.csv\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in group-config.csv config file","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String[] GROUP_NAME_HEADER \u003d {\"Group Name\"};","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] FILES_GLOB_HEADER \u003d {\"Globs\"};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public GroupConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" GROUP_NAME_HEADER, FILES_GLOB_HEADER,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" LOCATION_HEADER,","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and adds created {@link GroupConfiguration} into {@code results}.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cGroupConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" String location \u003d get(record, LOCATION_HEADER);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" String groupName \u003d get(record, GROUP_NAME_HEADER);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cString\u003e globList \u003d getAsList(record, FILES_GLOB_HEADER);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" GroupConfiguration groupConfig \u003d null;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfig \u003d findMatchingGroupConfiguration(results, location);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" FileType group \u003d new FileType(groupName, globList);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (groupConfig.containsGroup(group)) {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"Skipping group as %s has already been specified for the repository %s\",","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" group.toString(), groupConfig.getLocation()));","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" groupConfig.addGroup(group);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets an existing {@link GroupConfiguration} from {@code results} if {@code location} matches.","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link GroupConfiguration} into {@code results} and returns it.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static GroupConfiguration findMatchingGroupConfiguration(List\u003cGroupConfiguration\u003e results,","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" GroupConfiguration config \u003d new GroupConfiguration(new RepoLocation(location));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : results) {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().equals(config.getLocation())) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return groupConfig;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" return config;","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":92}},{"path":"src/main/java/reposense/parser/MarkdownParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" * Parses Markdown file according to the \"\u003c!--repo--\u003e\" tag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" * @param \u003cT\u003e Generic Type {@code T}.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":"public abstract class MarkdownParser\u003cT\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(MarkdownParser.class);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" protected Path markdownPath;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" public MarkdownParser(Path markdownPath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" if (markdownPath \u003d\u003d null || !Files.exists(markdownPath)) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" throw new FileNotFoundException(\"Markdown file does not exist at the given path.\\n\"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" this.markdownPath \u003d markdownPath;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" public abstract T parse() throws IOException, InvalidMarkdownException;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":32}},{"path":"src/main/java/reposense/parser/RepoConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code repo-config.csv} file.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class RepoConfigCsvParser extends CsvParser\u003cRepoConfiguration\u003e {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String REPO_CONFIG_FILENAME \u003d \"repo-config.csv\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String IGNORE_STANDALONE_CONFIG_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String IGNORE_FILESIZE_LIMIT_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String SKIP_IGNORED_FILE_ANALYSIS_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String SHALLOW_CLONING_CONFIG_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String FIND_PREVIOUS_AUTHORS_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in repo-config.csv config file","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String[] FILE_FORMATS_HEADER \u003d {\"File formats\"};","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_STANDALONE_CONFIG_HEADER \u003d {\"Ignore Standalone Config\"};","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_FILESIZE_LIMIT_HEADER \u003d {\"Ignore File Size Limit\"};","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_COMMIT_LIST_CONFIG_HEADER \u003d {\"Ignore Commits List\"};","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_AUTHOR_LIST_CONFIG_HEADER \u003d {\"Ignore Authors List\"};","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String[] SKIP_IGNORED_FILE_ANALYSIS_HEADER \u003d {\"Skip Ignored File Analysis\"};","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String[] SHALLOW_CLONING_CONFIG_HEADER \u003d {\"Shallow Cloning\"};","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String[] FIND_PREVIOUS_AUTHORS_CONFIG_HEADER \u003d {\"Find Previous Authors\"};","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String[] FILESIZE_LIMIT_HEADER \u003d {\"File Size Limit\"};","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" public RepoConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" LOCATION_HEADER,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" BRANCH_HEADER, FILE_FORMATS_HEADER, IGNORE_GLOB_LIST_HEADER, IGNORE_STANDALONE_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_HEADER, IGNORE_COMMIT_LIST_CONFIG_HEADER, IGNORE_AUTHOR_LIST_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_HEADER, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER, FILESIZE_LIMIT_HEADER,","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_HEADER","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link RepoConfiguration} into {@code results} but","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" * ignores duplicated {@link RepoConfiguration} if there exists one that has same {@code location} and","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" * {@code branch}.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location represented in {@code record} is invalid.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cRepoConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" // The variable expansion is performed to simulate running the same location from command line.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" // This helps to support things like tilde expansion and other Bash/CMD features.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" RepoLocation location \u003d new RepoLocation(FileUtil.getVariableExpandedFilePath(get(record, LOCATION_HEADER)));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, RepoConfiguration.DEFAULT_BRANCH);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding \u003d isElementOverridingStandaloneConfig(record, FILE_FORMATS_HEADER);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, FILE_FORMATS_HEADER));","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isIgnoreGlobListOverriding \u003d isElementOverridingStandaloneConfig(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsListWithoutOverridePrefix(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" boolean isIgnoreCommitListOverriding \u003d","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_COMMIT_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e ignoreCommitList \u003d CommitHash.convertStringsToCommits(","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, IGNORE_COMMIT_LIST_CONFIG_HEADER));","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding \u003d","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoredAuthorsList \u003d getAsListWithoutOverridePrefix(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d matchValueAndKeyword(record, IGNORE_FILESIZE_LIMIT_HEADER,","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_KEYWORD);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped \u003d matchValueAndKeyword(record, SKIP_IGNORED_FILE_ANALYSIS_HEADER,","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_KEYWORD);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored \u0026\u0026 isIgnoredFileAnalysisSkipped) {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring skip ignored file analysis column since file size limit is ignored\");","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" isIgnoredFileAnalysisSkipped \u003d false;","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitOverriding \u003d isElementOverridingStandaloneConfig(record, FILESIZE_LIMIT_HEADER);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" List\u003cString\u003e fileSizeLimitStringList \u003d getAsListWithoutOverridePrefix(record, FILESIZE_LIMIT_HEADER);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" long fileSizeLimit \u003d RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" // If file diff limit is specified","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (fileSizeLimitStringList.size() \u003e 0) {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" String fileSizeLimitString \u003d fileSizeLimitStringList.get(0).trim();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" int parseValue;","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring file size limit column since file size limit is ignored\");","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" } else if (!StringsUtil.isNumeric(fileSizeLimitString)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" || (parseValue \u003d Integer.parseInt(fileSizeLimitString)) \u003c\u003d 0) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Values in \\\"%s\\\" column should be positive integers.\",","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" FILESIZE_LIMIT_HEADER[0]));","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d parseValue;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d matchValueAndKeyword(record, IGNORE_STANDALONE_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" IGNORE_STANDALONE_CONFIG_KEYWORD);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed \u003d matchValueAndKeyword(record, SHALLOW_CLONING_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_KEYWORD);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed \u003d matchValueAndKeyword(record, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" FIND_PREVIOUS_AUTHORS_KEYWORD);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" addConfig(results, location, branch, isFormatsOverriding, formats, isIgnoreGlobListOverriding, ignoreGlobList,","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" isIgnoreCommitListOverriding, ignoreCommitList, isIgnoredAuthorsListOverriding, ignoredAuthorsList,","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" isFileSizeLimitIgnored, isIgnoredFileAnalysisSkipped, isFileSizeLimitOverriding, fileSizeLimit,","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" isStandaloneConfigIgnored, isShallowCloningPerformed, isFindingPreviousAuthorsPerformed);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Returns true if value from {@code record}, that matches any of the equivalent headers in","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}, is the same as the given {@code keyword}, else false.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" private boolean matchValueAndKeyword(CSVRecord record, String[] equivalentHeaders, String keyword) {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" boolean isIgnored \u003d value.equalsIgnoreCase(keyword);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!isIgnored \u0026\u0026 !value.isEmpty()) {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Ignoring unknown value %s in %s column.\", value, keyword.toLowerCase()));","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" return isIgnored;","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Creates a new {@link RepoConfiguration} with the supplied inputs and attempts to add it to {@code results}.","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Does nothing if the repo already exists in {@code results}.","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" private void addConfig(List\u003cRepoConfiguration\u003e results, RepoLocation location, String branch,","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding, List\u003cFileType\u003e formats, boolean isIgnoreGlobListOverriding,","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList, boolean isIgnoreCommitListOverriding, List\u003cCommitHash\u003e ignoreCommitList,","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding, List\u003cString\u003e ignoredAuthorsList, boolean isFileSizeLimitIgnored,","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped, boolean isFileSizeLimitOverriding, long fileSizeLimit,","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored, boolean isShallowCloningPerformed,","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration config \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" .location(location)","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(formats)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(ignoreGlobList)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(fileSizeLimit)","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(ignoreCommitList)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(isFormatsOverriding)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(isIgnoreGlobListOverriding)","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(isIgnoreCommitListOverriding)","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(isFileSizeLimitOverriding)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(isShallowCloningPerformed)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(isFindingPreviousAuthorsPerformed)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(isIgnoredFileAnalysisSkipped)","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(ignoredAuthorsList)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(isIgnoredAuthorsListOverriding)","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (results.contains(config)) {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring duplicated repository \" + location + \" \" + branch);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":24,"-":178}},{"path":"src/main/java/reposense/parser/exceptions/InvalidCsvException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a major error in a CSV file (e.g. wrong number of columns, zero valid records).","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidCsvException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidCsvException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidHeaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a problem in the header of csv config file.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidHeaderException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidHeaderException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidLocationException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that location cannot be represented by {@code URL} or {@code Path}.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidLocationException extends ParseException {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidLocationException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidMarkdownException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Represents the error thrown when Markdown files cannot be parsed.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class InvalidMarkdownException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" public InvalidMarkdownException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":10}},{"path":"src/main/java/reposense/parser/exceptions/ParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is an exception when parsing a string.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class ParseException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public ParseException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/types/AlphanumericArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents an alphanumeric type {@code String} argument.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class AlphanumericArgumentType implements ArgumentType\u003cString\u003e {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC \u003d","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"Invalid format. It must be in alphanumeric.\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Pattern ALPHANUMERIC_PATTERN \u003d Pattern.compile(\"[A-Za-z0-9]+\");","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public String convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" if (!ALPHANUMERIC_PATTERN.matcher(value).matches()) {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC, value), parser);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" return value;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":26}},{"path":"src/main/java/reposense/parser/types/AnalysisThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class AnalysisThreadsArgumentType implements ArgumentType\u003cInteger\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/AssetsFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --assets} flag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AssetsFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/CloningThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class CloningThreadsArgumentType implements ArgumentType\u003cInteger\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/ConfigFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --config} flag.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class ConfigFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"The required config file %s is not found in the specified folder.\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(value).resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME))) {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(String.format(PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME), parser);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":31}},{"path":"src/main/java/reposense/parser/types/DateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class DateArgumentType implements ArgumentType\u003cOptional\u003cLocalDateTime\u003e\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT \u003d \"Invalid Date: %s\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" return Optional.of(TimeUtil.parseDate(value));","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" } catch (java.text.ParseException pe) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT, value), parser);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":27}},{"path":"src/main/java/reposense/parser/types/OutputFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --output} flag.","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class OutputFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanWrite()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .or()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .verifyNotExists().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" return Paths.get(value).resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":23}},{"path":"src/main/java/reposense/parser/types/PeriodArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted period to an integer.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class PeriodArgumentType implements ArgumentType\u003cOptional\u003cInteger\u003e\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC \u003d","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be in the format of nd (n days) or nw (n weeks), \"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" + \"where n is a number greater than 0.\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO \u003d","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be greater than 0.\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE \u003d","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"Invalid format. Input number may be too large.\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Pattern PERIOD_PATTERN \u003d Pattern.compile(\"[0-9]+[dw]\");","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" public Optional\u003cInteger\u003e convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" return parse(value);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(pe.getMessage(), parser);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Parses a {@code period} String and returns an {@link Integer} representing the number of days.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" * @throws ParseException if period format or number is invalid.","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static Optional\u003cInteger\u003e parse(String period) throws ParseException {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!PERIOD_PATTERN.matcher(period).matches()) {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC, period));","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" int multiplier \u003d period.substring(period.length() - 1).equals(\"d\") ? 1 : 7;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" int convertedValue \u003d Integer.parseInt(period.substring(0, period.length() - 1)) * multiplier;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (convertedValue \u003c\u003d 0) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO, period));","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return Optional.of(convertedValue);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (NumberFormatException e) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE, period));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":55}},{"path":"src/main/java/reposense/parser/types/ReportFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --view} flag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class ReportFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/SinceDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted since date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SinceDateArgumentType extends DateArgumentType {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" /*","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * When user specifies \"d1\", arbitrary first commit date will be returned.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" * This date is equivalent to 1970-01-01 00:00:00 in UTC time.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Then, ReportGenerator will replace the arbitrary since date with the earliest commit date.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FIRST_COMMIT_DATE_SHORTHAND \u003d \"d1\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final ZonedDateTime ARBITRARY_FIRST_COMMIT_DATE_UTC \u003d ZonedDateTime.ofInstant(","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" Instant.ofEpochMilli(0), ZoneId.of(\"Z\"));","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final LocalDateTime ARBITRARY_FIRST_COMMIT_DATE_LOCAL \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .toLocalDateTime();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * Returns an arbitrary year {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL} if user specifies","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND} in {@code value}, or attempts to return the","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * desired date otherwise.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws ArgumentParserException if the given date cannot be parsed.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (FIRST_COMMIT_DATE_SHORTHAND.equals(value)) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" return Optional.of(ARBITRARY_FIRST_COMMIT_DATE_LOCAL);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" String sinceDate \u003d TimeUtil.extractDate(value);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, sinceDate + \" 00:00:00\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL}, which is the","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * {@link LocalDateTime} of {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC}.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_LOCAL;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC} adjusted for the time zone based on","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * {@code toZoneId} and converted to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(toZoneId).toLocalDateTime();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"src/main/java/reposense/parser/types/UntilDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted until date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class UntilDateArgumentType extends DateArgumentType {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" String untilDate \u003d TimeUtil.extractDate(value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, untilDate + \" 23:59:59\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/ZoneIdArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.DateTimeException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted zone id to a {@link ZoneId} object.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class ZoneIdArgumentType implements ArgumentType\u003cZoneId\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String MESSAGE_TIMEZONE_INVALID \u003d","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"The timezone provided is invalid, please use a more widely accepted format. E.g. UTC[±hh[mm]]\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public ZoneId convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" return ZoneId.of(value);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" } catch (DateTimeException dte) {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(MESSAGE_TIMEZONE_INVALID, parser);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":25}},{"path":"src/main/java/reposense/report/ReportGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.InputStream;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.PrintWriter;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.StringWriter;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Iterator;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.concurrent.CompletableFuture;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.concurrent.ExecutorService;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.concurrent.Executors;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.RepoSense;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.authorship.AuthorshipReporter;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.authorship.model.AuthorshipSummary;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.commits.CommitsReporter;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.commits.model.CommitContributionSummary;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"import reposense.git.GitClone;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"import reposense.git.GitRevParse;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"import reposense.git.GitShortlog;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitCloneException;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"import reposense.parser.StandaloneConfigJsonParser;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"import reposense.report.exception.NoAuthorsWithCommitsFoundException;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"import reposense.util.ProgressTracker;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Contains report generation related functionalities.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"public class ReportGenerator {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FOLDER \u003d \"_reposense\";","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FILE \u003d \"config.json\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ReportGenerator.class);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // zip file which contains all the report template files","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEMPLATE_FILE \u003d \"/templateZip.zip\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the config provided by %s (%s).\";","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ERROR_CREATING_DIRECTORY \u003d","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"Error has occurred while creating repo directory for %s (%s), will skip this repo.\";","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_STANDALONE_CONFIG \u003d \"%s (%s) does not contain a standalone config file.\";","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final String MESSAGE_IGNORING_STANDALONE_CONFIG \u003d \"Ignoring standalone config file in %s (%s).\";","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_STANDALONE_CONFIG \u003d \"%s/%s/%s is malformed for %s (%s).\";","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_SPECIFIED \u003d","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"%s (%s) has no authors specified, using all authors by default.\";","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND \u003d","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"No authors found with commits for %s (%s).\";","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_ANALYSIS \u003d \"Analyzing %s (%s)...\";","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPLETE_ANALYSIS \u003d \"Analysis of %s (%s) completed!\";","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final String MESSAGE_REPORT_GENERATED \u003d \"The report is generated at %s\";","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final String MESSAGE_BRANCH_DOES_NOT_EXIST \u003d \"Branch %s does not exist in %s! Analysis terminated.\";","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MISSING_TEMPLATE \u003d","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"Unable to find template file. Proceeding to generate report...\";","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING \u003d \"Failed to clone from %s\";","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_EXPANDING_COMMIT \u003d \"Cannot expand %s, it shall remain unexpanded\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String LOG_BRANCH_DOES_NOT_EXIST \u003d \"Branch \\\"%s\\\" does not exist.\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING_OR_BRANCHING \u003d \"Exception met while cloning or checking out.\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" private static final String LOG_UNEXPECTED_ERROR \u003d \"Unexpected error stack trace for %s:\\n\u003e%s\";","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e assetsFilesWhiteList \u003d","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" Collections.unmodifiableList(Arrays.asList(new String[] {\"favicon.ico\", \"title.md\"}));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" private LocalDateTime earliestSinceDate \u003d null;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private ProgressTracker progressTracker \u003d null;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Generates the authorship and commits JSON file for each repo in {@code configs} at {@code outputPath}, as","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * well as the summary JSON file of all the repos.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @param configs The list of repos to analyze.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @param outputPath The location at which to save the report.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * @param assetsPath The location at which assets for generating the report are stored.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * @param reportConfig The config for the output report.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * @param generationDate The time at which the report was generated.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @param cliSinceDate The date-time from which to start analyzing commits.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @param untilDate The cut-off date-time for analyzing commits.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided The boolean variable for whether client provided a sinceDate.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided The boolean variable for whether client provided an untilDate.","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of threads to use to clone the repos.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of threads to use to analyze the repos.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @param reportGenerationTimeProvider Supplier for time taken to generate the report.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * @param zoneId The timezone to adjust all date-times to.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @param shouldFreshClone The boolean variable for whether to clone a repo again during tests.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * @param shouldAnalyzeAuthorship The boolean variable for whether to further analyze authorship.","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * @param originalityThreshold The double variable for originality threshold in analyze authorship.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" * @param blurbMap The {@code BlurbMap}.","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @return the list of file paths that were generated.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws IOException if templateZip.zip does not exist in jar file.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" * @throws InvalidMarkdownException if the blurb markdown file cannot be parsed properly.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" public List\u003cPath\u003e generateReposReport(List\u003cRepoConfiguration\u003e configs, String outputPath, String assetsPath,","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig, String generationDate, LocalDateTime cliSinceDate,","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" LocalDateTime untilDate, boolean isSinceDateProvided, boolean isUntilDateProvided, int numCloningThreads,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" int numAnalysisThreads, Supplier\u003cString\u003e reportGenerationTimeProvider, ZoneId zoneId,","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" boolean shouldFreshClone, boolean shouldAnalyzeAuthorship, double originalityThreshold, BlurbMap blurbMap)","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" throws IOException, InvalidMarkdownException {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" prepareTemplateFile(outputPath);","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(assetsPath))) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" FileUtil.copyDirectoryContents(assetsPath, outputPath, assetsFilesWhiteList);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d null;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" progressTracker \u003d new ProgressTracker(configs.size());","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d cloneAndAnalyzeRepos(configs, outputPath, numCloningThreads,","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" numAnalysisThreads, shouldFreshClone, shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" LocalDateTime reportSinceDate \u003d (TimeUtil.isEqualToArbitraryFirstDateConverted(cliSinceDate, zoneId))","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" ? earliestSinceDate : cliSinceDate;","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" Optional\u003cPath\u003e summaryPath \u003d FileUtil.writeJsonFile(","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" new SummaryJson(configs, reportConfig, generationDate,","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportSinceDate, untilDate, isSinceDateProvided,","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" isUntilDateProvided, RepoSense.getVersion(), ErrorSummary.getInstance().getErrorSet(),","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" reportGenerationTimeProvider.get(), zoneId, shouldAnalyzeAuthorship, blurbMap),","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" getSummaryResultPath(outputPath));","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" summaryPath.ifPresent(reportFoldersAndFiles::add);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_REPORT_GENERATED, outputPath));","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" return reportFoldersAndFiles;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Copies the template file to the specified {@code outputPath} for the repo report to be generated.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @throws IOException if I/O error encountered while copying template file.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void prepareTemplateFile(String outputPath) throws IOException {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" InputStream is \u003d RepoSense.class.getResourceAsStream(TEMPLATE_FILE);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" if (is !\u003d null) {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" FileUtil.copyTemplate(is, outputPath);","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_MISSING_TEMPLATE);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" * Groups {@link RepoConfiguration} with the same {@link RepoLocation} together so that they are only cloned once.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" private Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e groupConfigsByRepoLocation(","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs) {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoLocation location \u003d config.getLocation();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (!repoLocationMap.containsKey(location)) {","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" repoLocationMap.put(location, new ArrayList\u003c\u003e());","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" repoLocationMap.get(location).add(config);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" return repoLocationMap;","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" * Clone, analyze and generate the report for repositories in {@code repoLocationMap}.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Performs cloning and analysis of each repository in parallel, and generates the report.","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" * Also removes any configs that failed to clone or analyze from {@code configs}.","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" * By default, runs in multi-threaded mode with {@code numCloningThreads} threads for cloning","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" * and {@code numAnalysisThreads} threads for analysis.","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" * To turn off multi-threading, run the program with the flags","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code --cloning-threads 1 --analysis-threads 1}.","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for each repository.","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e cloneAndAnalyzeRepos(List\u003cRepoConfiguration\u003e configs, String outputPath, int numCloningThreads,","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" int numAnalysisThreads, boolean shouldFreshClone, boolean shouldAnalyzeAuthorship,","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" double originalityThreshold) {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d groupConfigsByRepoLocation(configs);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e repoLocationList \u003d new ArrayList\u003c\u003e(repoLocationMap.keySet());","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" // Fixed thread pools are used to limit the number of threads used by cloning and analysis jobs at any one time","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" ExecutorService cloneExecutor \u003d Executors.newFixedThreadPool(numCloningThreads);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" ExecutorService analyzeExecutor \u003d Executors.newFixedThreadPool(numAnalysisThreads);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" List\u003cCompletableFuture\u003cAnalyzeJobOutput\u003e\u003e analyzeJobFutures \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" for (RepoLocation location : repoLocationList) {","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configsToAnalyze \u003d repoLocationMap.get(location);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // The `CompletableFuture.supplyAsync` method is used to clone the repo in parallel.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" // Note that the `cloneExecutor` is passed as a parameter to ensure that the number of threads used","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" // for cloning is no more than `numCloningThreads`.","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" CompletableFuture\u003cCloneJobOutput\u003e cloneFuture \u003d CompletableFuture.supplyAsync(() -\u003e","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" cloneRepo(configsToAnalyze.get(0), location, shouldFreshClone), cloneExecutor);","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" // The `thenApplyAsync` method is used to analyze the cloned repo in parallel.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" // This ensures that the analysis job for each repo will only be run after the repo has been cloned.","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" // Note that the `analyzeExecutor` is passed as a parameter to ensure that the number of threads used","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" // for analysis is no more than `numAnalysisThreads`.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" CompletableFuture\u003cAnalyzeJobOutput\u003e analyzeFuture \u003d cloneFuture.thenApplyAsync(","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" cloneJobOutput -\u003e analyzeRepos(outputPath, configsToAnalyze, cloneJobOutput,","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold),","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" analyzeExecutor);","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" analyzeJobFutures.add(analyzeFuture);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" // Next, we collect the list of outputs from all the analyze jobs","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cAnalyzeJobOutput\u003e jobOutputs \u003d analyzeJobFutures.stream()","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .map(CompletableFuture::join)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" // Finally, the ExecutorService objects are shut down to prevent memory leaks","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cloneExecutor.shutdown();","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" analyzeExecutor.shutdown();","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d jobOutputs","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getFiles().stream())","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e cloneFailLocations \u003d jobOutputs","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .filter(jobOutput -\u003e !jobOutput.isCloneSuccessful())","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .map(AnalyzeJobOutput::getLocation)","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" cloneFailLocations.forEach(location -\u003e handleCloningFailed(configs, location));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d jobOutputs","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getAnalyseErrors().stream())","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" analysisErrors.forEach(errorInfo -\u003e","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" handleAnalysisFailed(configs, errorInfo.getFailedConfig(), errorInfo.getErrorMessage()));","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" repoCloner.cleanup();","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" * Clones repo specified by {@code config} at {@code location}.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @return A {@link CloneJobOutput} object comprising the {@code location} of the repo, whether the cloning was","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" * successful, and the {@code defaultBranch} of the repo.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" private CloneJobOutput cloneRepo(RepoConfiguration config, RepoLocation location, boolean shouldFreshClone) {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(config, shouldFreshClone);","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" if (clonedRepoLocation !\u003d null) {","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" String defaultBranch \u003d repoCloner.getCurrentRepoDefaultBranch();","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location, defaultBranch);","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Analyzes all repos in {@code configsToAnalyze} and generates their report at {@code outputPath}.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" * Uses {@code cloneJobOutput} to find repo location, default branch and whether cloning was successful.","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" * @return An {@link AnalyzeJobOutput} object comprising the {@code location} of the repo, whether the cloning was","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" * successful, the list of {@code generatedFiles} by the analysis and a list of {@code analysisErrors} encountered.","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" private AnalyzeJobOutput analyzeRepos(String outputPath, List\u003cRepoConfiguration\u003e configsToAnalyze,","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" CloneJobOutput cloneJobOutput, boolean shouldAnalyzeAuthorship, double originalityThreshold) {","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" RepoLocation location \u003d cloneJobOutput.getLocation();","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" boolean cloneSuccessful \u003d cloneJobOutput.isCloneSuccessful();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" if (!cloneSuccessful) {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" for (RepoConfiguration configToAnalyze : configsToAnalyze) {","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" progressTracker.incrementProgress();","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" configToAnalyze.updateBranch(cloneJobOutput.getDefaultBranch());","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" Path repoReportDirectory \u003d Paths.get(outputPath, configToAnalyze.getOutputFolderName());","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" logger.info(String.format(progressTracker.getProgress() + \" \" + MESSAGE_START_ANALYSIS,","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" GitRevParse.assertBranchExists(configToAnalyze, FileUtil.getBareRepoPath(configToAnalyze));","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" GitClone.cloneFromBareAndUpdateBranch(Paths.get(\".\"), configToAnalyze);","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" FileUtil.createDirectory(repoReportDirectory);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" generatedFiles.addAll(analyzeRepo(configToAnalyze, repoReportDirectory.toString(),","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold));","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" String logMessage \u003d String.format(MESSAGE_ERROR_CREATING_DIRECTORY,","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch());","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, logMessage, ioe);","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" } catch (GitBranchException gbe) {","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, String.format(MESSAGE_BRANCH_DOES_NOT_EXIST,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" configToAnalyze.getBranch(), configToAnalyze.getLocation()), gbe);","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" String.format(LOG_BRANCH_DOES_NOT_EXIST, configToAnalyze.getBranch())));","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" } catch (GitCloneException gce) {","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze, LOG_ERROR_CLONING_OR_BRANCHING));","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" } catch (NoAuthorsWithCommitsFoundException nafe) {","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND,","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" generatedFiles.addAll(generateEmptyRepoReport(repoReportDirectory.toString(),","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND));","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" generateEmptyRepoReport(repoReportDirectory.toString(), Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND);","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" } catch (Exception e) {","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" StringWriter sw \u003d new StringWriter();","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" e.printStackTrace(new PrintWriter(sw));","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, sw.toString());","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" String.format(LOG_UNEXPECTED_ERROR, configToAnalyze.getLocation(), sw.toString())));","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" * Analyzes repo specified by {@code config} and generates the report at {@code repoReportDirectory}.","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for the repo specified by {@code config}.","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo.","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e analyzeRepo(RepoConfiguration config, String repoReportDirectory,","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" boolean shouldAnalyzeAuthorship, double originalityThreshold) throws NoAuthorsWithCommitsFoundException {","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" // preprocess the config and repo","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" updateRepoConfig(config);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" updateAuthorList(config);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" updateIgnoreCommitList(config);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" if (config.isFindingPreviousAuthorsPerformed()) {","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" generateIgnoreRevsFile(config);","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" AuthorshipReporter authorshipReporter \u003d new AuthorshipReporter();","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" AuthorshipSummary authorshipSummary \u003d authorshipReporter.generateAuthorshipSummary(config,","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" CommitsReporter commitsReporter \u003d new CommitsReporter();","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary \u003d commitsReporter.generateCommitSummary(config);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d commitSummary.getEarliestSinceDate();","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d generateIndividualRepoReport(repoReportDirectory, commitSummary, authorshipSummary);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COMPLETE_ANALYSIS, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" * Updates {@code config} with configuration provided by repository if exists.","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" * @throws AssertionError if there is a problem with the file existence check.","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" public void updateRepoConfig(RepoConfiguration config) throws AssertionError {","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" Path configJsonPath \u003d","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" Paths.get(config.getRepoRoot(), REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE).toAbsolutePath();","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" if (!Files.exists(configJsonPath)) {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" if (config.isStandaloneConfigIgnored()) {","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_IGNORING_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" StandaloneConfig standaloneConfig \u003d new StandaloneConfigJsonParser().parse(configJsonPath);","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" config.update(standaloneConfig);","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_STANDALONE_CONFIG, config.getDisplayName(),","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON,","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" iae.getMessage(), config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":" throw new AssertionError(","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"This exception should not happen as we have performed the file existence check.\");","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" * Find and update {@code config} with all the author identities if author list is empty.","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Also removes ignored authors from author list.","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo.","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" private void updateAuthorList(RepoConfiguration config) throws NoAuthorsWithCommitsFoundException {","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" if (config.getAuthorList().isEmpty()) {","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_AUTHORS_SPECIFIED, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e authorList \u003d GitShortlog.getAuthors(config);","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" if (authorList.isEmpty()) {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" throw new NoAuthorsWithCommitsFoundException();","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" config.setAuthorList(authorList);","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" config.removeIgnoredAuthors();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" * Updates {@code config} with the exact list of commits if commit ranges are provided.","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" private void updateIgnoreCommitList(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e updatedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" .flatMap(x -\u003e CommitHash.getHashes(config.getRepoRoot(), config.getBranch(), x))","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(updatedIgnoreCommitList);","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" * Adds {@code configs} that were not successfully cloned from {@code failedRepoLocation}","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" * into the list of errors in the summary report and removes them from the list of {@code configs}.","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" private void handleCloningFailed(List\u003cRepoConfiguration\u003e configs, RepoLocation failedRepoLocation) {","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e failedConfigs \u003d configs.stream()","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" .filter(config -\u003e config.getLocation().equals(failedRepoLocation))","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, failedConfigs, String.format(LOG_ERROR_CLONING, failedRepoLocation));","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" * Adds {@code failedConfig} that failed analysis into the list of errors in the summary report along with","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" * an {@code errorMessage} and removes {@code failedConfig} from the list of {@code configs}.","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" private void handleAnalysisFailed(List\u003cRepoConfiguration\u003e configs, RepoConfiguration failedConfig,","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" String errorMessage) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, Collections.singletonList(failedConfig), errorMessage);","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" * Adds {@code failedConfigs} that failed cloning/analysis into the list of errors in the summary report along","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" * with an {@code errorMessage} and removes {@code failedConfigs} from the list of {@code configs}.","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" private void handleFailedConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cRepoConfiguration\u003e failedConfigs,","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" String errorMessage) {","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configs.iterator();","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d itr.next();","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" if (failedConfigs.contains(config)) {","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), errorMessage);","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" itr.remove();","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" * Generates an empty report at the {@code repoReportDirectory}, with the author display name","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" * as {@code displayName}.","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this empty report.","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateEmptyRepoReport(String repoReportDirectory, String displayName) {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" CommitReportJson emptyCommitReportJson \u003d new CommitReportJson(displayName);","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(emptyCommitReportJson, getIndividualCommitsPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(Collections.emptyList(), getIndividualAuthorshipPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" * Generates a report for a single repository at {@code repoReportDirectory} based on {@code commitSummary}","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" * and {@code authorshipSummary}.","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this report.","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateIndividualRepoReport(String repoReportDirectory,","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary, AuthorshipSummary authorshipSummary) {","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" CommitReportJson commitReportJson \u003d new CommitReportJson(commitSummary, authorshipSummary);","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(commitReportJson, getIndividualCommitsPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(authorshipSummary.getFileResults(), getIndividualAuthorshipPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" * Creates the .git-blame-ignore-revs file containing the contents of {@code ignoreCommitList}","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" * in the repo root directory of {@code config}.","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" private void generateIgnoreRevsFile(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(config.getRepoRoot(), commitHash);","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" logger.warning(String.format(LOG_ERROR_EXPANDING_COMMIT, commitHash));","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(expandedIgnoreCommitList);","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(getIgnoreRevsFilePath(config.getRepoRoot()), config.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":" private String getSummaryResultPath(String targetFileLocation) {","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" return targetFileLocation + \"/\" + SummaryJson.SUMMARY_JSON_FILE_NAME;","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" private String getIgnoreRevsFilePath(String targetFileLocation) {","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" return targetFileLocation + GitBlame.IGNORE_COMMIT_LIST_FILE_NAME;","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" private String getIndividualAuthorshipPath(String repoReportDirectory) {","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/authorship.json\";","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" private String getIndividualCommitsPath(String repoReportDirectory) {","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/commits.json\";","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" public void setEarliestSinceDate(LocalDateTime newEarliestSinceDate) {","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" if (earliestSinceDate \u003d\u003d null || newEarliestSinceDate.compareTo(earliestSinceDate) \u003c 0) {","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d newEarliestSinceDate;","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"sopa301":1,"-":554}},{"path":"src/main/java/reposense/report/SummaryJson.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Represents the structure of summary.json file in reposense-report folder.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SummaryJson {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String SUMMARY_JSON_FILE_NAME \u003d \"summary.json\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private final String repoSenseVersion;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private final String reportGeneratedTime;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private final String reportGenerationTime;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final ZoneId zoneId;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private final String reportTitle;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private final List\u003cRepoConfiguration\u003e repos;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private final Set\u003cMap\u003cString, String\u003e\u003e errorSet;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private final LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private final LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final boolean isSinceDateProvided;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private final boolean isUntilDateProvided;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private final Map\u003cString, Map\u003cString, String\u003e\u003e supportedDomainUrlMap;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private final boolean isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private final BlurbMap blurbs;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public SummaryJson(List\u003cRepoConfiguration\u003e repos, ReportConfiguration reportConfig, String reportGeneratedTime,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate, boolean isSinceDateProvided,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" boolean isUntilDateProvided, String repoSenseVersion, Set\u003cMap\u003cString, String\u003e\u003e errorSet,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" String reportGenerationTime, ZoneId zoneId,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" boolean isAuthorshipAnalyzed, BlurbMap blurbs) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.repos \u003d repos;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.reportGeneratedTime \u003d reportGeneratedTime;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.reportGenerationTime \u003d reportGenerationTime;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.reportTitle \u003d reportConfig.getTitle();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.isSinceDateProvided \u003d isSinceDateProvided;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.isUntilDateProvided \u003d isUntilDateProvided;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.repoSenseVersion \u003d repoSenseVersion;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" this.errorSet \u003d errorSet;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.supportedDomainUrlMap \u003d SupportedDomainUrlMap.getDefaultDomainUrlMap();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" this.isAuthorshipAnalyzed \u003d isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" this.blurbs \u003d blurbs;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":48}},{"path":"src/main/java/reposense/util/StringsUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Contains strings related utilities.","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class StringsUtil {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NEWLINE \u003d Pattern.compile(\"\\n\");","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern TAB \u003d Pattern.compile(\"\\t\");","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" public static final Pattern SPACE \u003d Pattern.compile(\" \");","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NUMERIC \u003d Pattern.compile(\"^\\\\d+$\");","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final Pattern SPECIAL_SYMBOLS \u003d Pattern.compile(\"[@;:\u0026/\\\\\\\\!\u003c\u003e{}%#\\\"\\\\-\u003d\u0027()\\\\[\\\\].+*?^$|]\");","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Filters the {@code text}, returning only the lines that matches the given {@code regex}.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public static String filterText(String text, String regex) {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" Pattern regexPattern \u003d Pattern.compile(regex);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : NEWLINE.split(text)) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" if (regexPattern.matcher(line).matches()) {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" sb.append(line).append(\"\\n\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" return sb.toString();","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Converts all special symbol characters inside {@code regexString} to the {@code replacementCharacter}.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public static String replaceSpecialSymbols(String regexString, String replacementCharacter) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return SPECIAL_SYMBOLS.matcher(regexString).replaceAll(replacementCharacter);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Adds quotes to the string.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static String addQuotes(String original) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return \"\\\"\" + original + \"\\\"\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Adds the appropriate quotation marks for a file path depending on the OS.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" public static String addQuotesForFilePath(String filePath) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return \"\\\"\" + filePath + \"\\\"\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c filePath.length(); i++) {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" char c \u003d filePath.charAt(i);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" if (c \u003d\u003d \u0027\\\u0027\u0027) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" sb.append(\"\u0027\\\"\u0027\\\"\u0027\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" sb.append(c);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" return \u0027\\\u0027\u0027 + sb.toString() + \u0027\\\u0027\u0027;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Removes quotes at the start and end of {@code original}, if exists.","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static String removeQuote(String original) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return (original.startsWith(\"\\\"\") \u0026\u0026 original.endsWith(\"\\\"\"))","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" ? original.substring(1, original.length() - 1)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" : original;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Removes trailing backslashes from a {@code string}, if it exists.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static String removeTrailingBackslash(String string) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (string.isEmpty()) {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" return string;","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" int lastCharIndex \u003d string.length() - 1;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" String editedString \u003d string;","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" boolean isLastCharBackslash \u003d string.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" while (isLastCharBackslash) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" editedString \u003d editedString.substring(0, lastCharIndex--);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" boolean isStringEmpty \u003d editedString.length() \u003d\u003d 0;","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" isLastCharBackslash \u003d !isStringEmpty \u0026\u0026 editedString.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return editedString;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Returns true iff {@code string} is purely numeric.","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" public static boolean isNumeric(String string) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" return NUMERIC.matcher(string).matches();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Calculates the Levenshtein Distance between two strings using Dynamic Programming.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Insertion, deletion, and substitution are all of cost 1.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * This version improves the space complexity down to O(min(s, t))","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003c/p\u003e","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * The dp will stop if the {@code limit} is reached, this means that if the final distance is 7 and the limit is set","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * to 3, the algorithm ends early once it reaches 3. This is possible as we are using this method to find the string","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * with the lowest Levenshtein distance.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003c/p\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Returns {@code Integer.MAX_VALUE} if limit is reached, else returns the computed Levenshtein distance.","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" public static int getLevenshteinDistance(String s, String t, double limit) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" // Early termination if either string is empty, lev dist is just the length of the other string.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (s.isEmpty()) {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" return t.length();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (t.isEmpty()) {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" return s.length();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" // The final lev dist is at least k where k \u003d difference in length \u003d number of insert/delete.","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (Math.abs(s.length() - t.length()) \u003e\u003d limit) {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" return Integer.MAX_VALUE;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" if (s.length() \u003c t.length()) {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" // Swap s and t to ensure s is always the longer string","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" String temp \u003d s;","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" s \u003d t;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" t \u003d temp;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" int[] dp \u003d new int[t.length() + 1];","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c\u003d t.length(); i++) {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" dp[i] \u003d i;","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d s.length(); i++) {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" // Store the value of the previous row\u0027s column","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" int prev \u003d dp[0];","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" dp[0] \u003d i;","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" // If for this row, all the values are at least k, then the final lev dist computed will also be at least k.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" // hasLower will check for values smaller than the limit, and terminate early if limit is reached.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" boolean hasLower \u003d false;","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" for (int j \u003d 1; j \u003c\u003d t.length(); j++) {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" int temp \u003d dp[j];","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" if (s.charAt(i - 1) \u003d\u003d t.charAt(j - 1)) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" dp[j] \u003d prev;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" dp[j] \u003d Math.min(prev, Math.min(dp[j - 1], dp[j])) + 1;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" prev \u003d temp;","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (dp[j] \u003c limit) {","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" hasLower \u003d true;","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (!hasLower) {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" return Integer.MAX_VALUE;","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" return dp[t.length()];","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":9,"-":161}},{"path":"src/main/java/reposense/util/TimeUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeParseException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.format.ResolverStyle;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains time related functionalities.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class TimeUtil {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static Long startTime;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String DATE_FORMAT_REGEX \u003d","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"^((0?[1-9]|[12][0-9]|3[01])\\\\/(0?[1-9]|1[012])\\\\/(19|2[0-9])[0-9]{2})\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // \"uuuu\" is used for year since \"yyyy\" does not work with ResolverStyle.STRICT","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter CLI_ARGS_DATE_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/uuuu HH:mm:ss\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String EARLIEST_VALID_DATE \u003d \"1970-01-01T00:00:00\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LATEST_VALID_DATE \u003d \"2099-12-31T23:59:59\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE \u003d","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"Date of %s must not be earlier than \"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to earliest valid date\", EARLIEST_VALID_DATE);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE \u003d","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"Date of %s must not be later than \"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to latest valid date\", LATEST_VALID_DATE);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(TimeUtil.class);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Sets the {@code startTime} to be the current time.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void startTimer() {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" startTime \u003d System.nanoTime();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String getElapsedTime() {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" long endTime \u003d System.nanoTime();","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" double elapsedTime \u003d (double) (endTime - startTime) / 1_000_000_000.0;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" int elapsedHours \u003d (int) elapsedTime / 3600;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" int elapsedMinutes \u003d (int) (elapsedTime % 3600) / 60;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" double elapsedSeconds \u003d elapsedTime % 60;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" String formattedElapsedTime \u003d \"\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (elapsedHours \u003e 0) {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d hour(s)\", elapsedHours);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (elapsedMinutes \u003e 0) {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d minute(s)\", elapsedMinutes);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %.2f second(s)\", elapsedSeconds);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return formattedElapsedTime;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time,","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * with an additional explanatory string.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static String getElapsedTimeMessage() {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return \"Elapsed processing time:\" + getElapsedTime();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to midnight for the given {@code sinceDate}.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" return getValidDate(sinceDate).withHour(0).withMinute(0).withSecond(0);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to 23:59:59 for the given {@code untilDate}.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return getValidDate(untilDate).withHour(23).withMinute(59).withSecond(59);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is within {@value EARLIEST_VALID_DATE} and {@value LATEST_VALID_DATE}.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Resets {@code date} passed the closest valid date if it exceeds the date range.","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static LocalDateTime getValidDate(LocalDateTime date) {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (date.isBefore(LocalDateTime.parse(EARLIEST_VALID_DATE))) {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE, date));","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(EARLIEST_VALID_DATE);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (date.isAfter(LocalDateTime.parse(LATEST_VALID_DATE))) {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE, date));","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(LATEST_VALID_DATE);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" return date;","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is one month before {@code cliUntilDate} (if present) or one month","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * before report generation date otherwise.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusAMonth(LocalDateTime cliUntilDate) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusMonths(1));","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} before {@code cliUntilDate} (if present) or one month","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * before report generation date otherwise.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusNDays(LocalDateTime cliUntilDate, int numOfDays) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusDays(numOfDays));","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} after {@code cliSinceDate} (if present).","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static LocalDateTime getDatePlusNDays(LocalDateTime cliSinceDate, int numOfDays) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" return getUntilDate(cliSinceDate.plusDays(numOfDays));","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Returns current date with time set to 23:59:59. The time zone is adjusted to the given {@code zoneId}.","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public static LocalDateTime getCurrentDate(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" return LocalDateTime.now(zoneId).withHour(23).withMinute(59).withSecond(59).withNano(0);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} in the UTC time zone.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateLocal();","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} adjusted for the time zone based on","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code toZoneId}.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateConverted(toZoneId);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in UTC time.","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateUtc(LocalDateTime dateTime) {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateLocal());","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in the time zone given by","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" * {@code zoneId}.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateConverted(LocalDateTime dateTime, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateConverted(zoneId));","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Extracts the first substring of {@code date} string that matches the {@code DATE_FORMAT_REGEX}.","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static String extractDate(String date) {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" Matcher matcher \u003d Pattern.compile(DATE_FORMAT_REGEX).matcher(date);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" String extractedDate \u003d date;","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" if (matcher.find()) {","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" extractedDate \u003d matcher.group(1);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" return extractedDate;","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Parses the given {@code date} string as a {@link LocalDateTime} based on the {@code CLI_ARGS_DATE_FORMAT}.","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Uses {@link ResolverStyle#STRICT} to avoid unexpected dates like 31/02/2020.","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" * @throws java.text.ParseException if date cannot be parsed by the required format.","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static LocalDateTime parseDate(String date) throws java.text.ParseException {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(date, CLI_ARGS_DATE_FORMAT.withResolverStyle(ResolverStyle.STRICT));","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (DateTimeParseException e) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" throw new java.text.ParseException(String.format(","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"Exception message: %s\\n\", e.getMessage()), e.getErrorIndex());","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":191}},{"path":"src/systemtest/java/reposense/ConfigSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class ConfigSystemTest {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TESTING_FILE_FORMATS \u003d Arrays.asList(\"java\", \"adoc\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String TEST_TIME_ZONE \u003d \"Asia/Singapore\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"ft_temp\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static boolean didNotCloneRepoNormally \u003d true;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public void setUp() throws Exception {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void tearDown() throws Exception {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * since date to capture from the first commit.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRange() {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\");","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRange/expected\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDate() {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder().addUntilDate(\"1/11/2017\");","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDate/expected\");","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * System test with a specified since date and until date, with the last modified date time in each","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * line of code.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void testDateRangeWithModifiedDateTimeInLines() {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .addSinceDate(\"1/9/2017\")","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/10/2017\")","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addLastModifiedDateFlags();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/dateRangeWithModifiedDateTimeInLines/expected\");","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using shallow cloning.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithShallowCloning() {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addShallowCloning();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeWithShallowCloning/expected\");","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithShallowCloning() {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addShallowCloning();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateWithShallowCloning/expected\");","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using find previous authors.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithFindPreviousAuthors() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeFindPreviousAuthors/expected\");","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithFindPreviousAuthors() {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateFindPreviousAuthors/expected\");","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Returns a {@link InputBuilder} that is initialized with some default values.","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" * \u003cbr\u003eConfig Folder Path: {@code ConfigSystemTest}","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" * \u003cbr\u003eFormats: {@link ConfigSystemTest#TESTING_FILE_FORMATS TESTING_FILE_FORMATS}","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTimezone: {@link ConfigSystemTest#TEST_TIME_ZONE TEST_TIME_ZONE}","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" * \u003cbr\u003eOutput Folder Path: {@link ConfigSystemTest#OUTPUT_DIRECTORY OUTPUT_DIRECTORY}","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTest Mode: {@code Enabled}","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" private InputBuilder initInputBuilder() {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" Path configFolder \u003d loadResource(getClass(), \"ConfigSystemTest\");","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", TESTING_FILE_FORMATS);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" return new InputBuilder().addConfig(configFolder)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .addTimezone(TEST_TIME_ZONE)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .addTestMode()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Generates the testing report and compares it with the expected report.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Re-generates a normal report after the testing finished if the first report is shallow-cloned.","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param inputBuilder The input builder that contains the command line input specified by user.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param shouldFreshClone Boolean for whether to clone repo again if it has been cloned before.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @param pathToResource The location at which files generated during the test are stored.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, boolean shouldFreshClone, String pathToResource) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (shouldFreshClone || didNotCloneRepoNormally) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" inputBuilder \u003d inputBuilder.addFreshCloning();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" Path actualFiles \u003d loadResource(getClass(), pathToResource);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(actualFiles, REPORT_DIRECTORY_PATH);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" didNotCloneRepoNormally \u003d inputBuilder.isShallowCloning();","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":171}},{"path":"src/systemtest/java/reposense/LocalRepoSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterAll;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class LocalRepoSystemTest {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE_PARENT \u003d \"parent1\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO_PARENT \u003d \"parent2\";","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE \u003d \"parent1/test-repo\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO \u003d \"parent2/test-repo\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String LAST_COMMIT_DATE \u003d \"31/01/2023\";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"local-test\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TIME_ZONE \u003d \"UTC+08\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static void setupLocalRepos() throws Exception {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone(","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" .build(),","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_ONE","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone(","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" .build(),","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_TWO","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void setupLocalTest() throws Exception {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void deleteReportDirectory() throws Exception {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" @AfterAll","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static void deleteClonedLocalRepos() throws Exception {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_ONE_PARENT);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_TWO_PARENT);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void testSameFinalDirectory() {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addRepos(LOCAL_DIRECTORY_ONE, LOCAL_DIRECTORY_TWO)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testSameFinalDirectory\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testRelativePathing() {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" String relativePathForTesting \u003d \"parent1/../parent1/./test-repo\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addRepos(relativePathForTesting)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testRelativePathing\");","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Runs RepoSense with {@code inputBuilder} and tests it against the expected","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * files in {@code expectedFilesPathString}.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, String expectedFilesPathString) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" Path expectedFilesPath \u003d loadResource(getClass(), expectedFilesPathString);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(expectedFilesPath, REPORT_DIRECTORY_PATH);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":13,"-":95}},{"path":"src/systemtest/java/reposense/util/SystemTestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import com.google.gson.JsonElement;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains utility methods for system tests.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class SystemTestUtil {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String[] JSON_FIELDS_TO_IGNORE \u003d new String[]","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" {\"repoSenseVersion\", \"reportGeneratedTime\", \"reportGenerationTime\", \"isAuthorshipAnalyzed\"};","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Verifies that all JSON files in the {@code actualDirectory} matches those at the {@code expectedDirectory}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static void verifyReportJsonFiles(Path expectedDirectory, Path actualDirectory) {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" try (Stream\u003cPath\u003e pathStream \u003d Files.list(expectedDirectory)) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" for (Path file : pathStream.collect(Collectors.toList())) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path expectedFilePath \u003d expectedDirectory.resolve(file.getFileName());","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" Path actualFilePath \u003d actualDirectory.resolve(file.getFileName());","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (Files.isDirectory(file)) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" verifyReportJsonFiles(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" } else if (file.toString().endsWith(\".json\")) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (file.getFileName().toString().equals(\"summary.json\")) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertSummaryJson(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertJson(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" ioe.printStackTrace();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static void assertSummaryJson(Path expectedSummaryJsonPath, Path actualSummaryJsonPath)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" throws IOException {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedSummaryJsonPath.toFile());","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" FileReader fileReaderActual \u003d new FileReader(actualSummaryJsonPath.toFile())) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" JsonObject jsonExpected \u003d JsonParser.parseReader(fileReaderExpected).getAsJsonObject();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" JsonObject jsonActual \u003d JsonParser.parseReader(fileReaderActual).getAsJsonObject();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String ignoredKey : JSON_FIELDS_TO_IGNORE) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" jsonExpected.remove(ignoredKey);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" jsonActual.remove(ignoredKey);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Asserts that the contents in the given JSON file at {@code actualJsonPath} is the same as the JSON file","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * at {@code expectedJsonPath}.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static void assertJson(Path expectedJsonPath, Path actualJsonPath) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(actualJsonPath));","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedJsonPath.toFile());","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" FileReader fileReaderActual \u003d new FileReader(actualJsonPath.toFile())) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonExpected \u003d JsonParser.parseReader(fileReaderExpected);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonActual \u003d JsonParser.parseReader(fileReaderActual);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ex) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.fail(ex.getMessage());","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":11,"-":68}},{"path":"src/test/java/reposense/git/GitBranchTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.template.GitTestTemplate;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class GitBranchTest extends GitTestTemplate {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION \u003d","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-UncommonDefaultBranch.git\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private RepoConfiguration config;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public void before() throws Exception {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" super.before();","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" config \u003d configs.get();","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public void getCurrentBranch_masterBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(config.getRepoRoot());","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", currentBranch);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void getCurrentBranch_uncommonDefaultBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration uncommonDefaultConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION))","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" uncommonDefaultConfig.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(uncommonDefaultConfig);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(uncommonDefaultConfig.getRepoRoot());","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"uncommon\", currentBranch);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":39}},{"path":"src/test/java/reposense/model/BlurbMapTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMapTest {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfBuildsSuccessfully_success() {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" builder.withRecord(\"hello\", \"world\");","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap newBuilder \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" newBuilder.withRecord(\"hello\", \"world\");","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(builder, newBuilder);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfBuildsEmpty_success() {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap map1 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap map2 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(map1, map2);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfUnequal_success() {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder1 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder2 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" builder1.withRecord(\"this\", \"builder\");","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" builder2.withRecord(\"other\", \"builder\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertNotEquals(builder1, builder2);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":33}},{"path":"src/test/java/reposense/model/RepoConfigurationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class RepoConfigurationTest {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAlone_test\");","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAloneKeyword_test\");","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_formats_test\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path WITHOUT_FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_withoutformats_test\");","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path GROUPS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_groups_test\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path OVERRIDE_STANDALONE_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_overrideStandAlone_test\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path IGNORE_AUTHORS_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreAuthors_test\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreStandaloneOverrideCsv_test\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimit_test\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimitOverrideCsv_test\");","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_shallowCloning_test\");","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_shallowCloningOverrideCsv_test\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthors_test\");","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthorsOverrideCsv_test\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_MINIMAL_STANDALONE_CONFIG \u003d","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-minimalstandaloneconfig.git\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"lithiumlkid\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"codeeong\");","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final Author THIRD_AUTHOR \u003d new Author(\"jordancjq\");","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final Author FOURTH_AUTHOR \u003d new Author(\"lohtianwei\");","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_ALIASES \u003d Collections.singletonList(\"Ahmad Syafiq\");","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_ALIASES \u003d Collections.singletonList(\"Jordan Chong\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_ALIASES \u003d Collections.singletonList(\"Tianwei\");","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Collections.singletonList(\"collated**\");","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" Arrays.asList(\"*.aa1\", \"**.aa2\", \"**.java\", \"collated**\");","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"\", \"collated**\");","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**[!(.md)]\", \"collated**\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_GLOB_LIST \u003d Collections.singletonList(\"collated**\");","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e CONFIG_FORMATS \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList(","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"md\"));","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e FIRST_CONFIG_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" new FileType(\"test\", Collections.singletonList(\"src/test**\")),","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" new FileType(\"code\", Collections.singletonList(\"**.java\")),","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e SECOND_CONFIG_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e CLI_FORMATS \u003d Arrays.asList(\"css\", \"html\");","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static RepoConfiguration repoDeltaStandaloneConfig;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" private ReportGenerator reportGenerator \u003d new ReportGenerator();","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setAuthorAliases(FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setAuthorAliases(THIRD_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setAuthorAliases(FOURTH_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setIgnoreGlobList(THIRD_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setIgnoreGlobList(FOURTH_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" expectedAuthors.add(THIRD_AUTHOR);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" expectedAuthors.add(FOURTH_AUTHOR);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" repoDeltaStandaloneConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FIRST_AUTHOR, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FOURTH_AUTHOR, FOURTH_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Ahm\");","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Cod\");","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(THIRD_AUTHOR, \"Jor\");","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FOURTH_AUTHOR, \"Loh\");","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setEmails(Arrays.asList(\"codeeong@gmail.com\", \"33129797+codeeong@users.noreply.github.com\"));","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Author author : expectedAuthors) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void repoConfig_usesStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfigInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreStandaloneConfigInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_success() throws Exception {","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" expectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimitInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void repoConfig_withoutIgnoreStandaloneConfigInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST).build();","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" public void repoConfig_wrongKeywordUseStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloning_success() throws Exception {","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void repoConfig_withoutShallowCloningInInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthors_success() throws Exception {","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors()","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFindPreviousAuthorsInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" public void repoConfig_userEnvironmentCannotRunFindPreviousAuthors_setFindPreviousAuthorsToFalseInAllRepoConfigs()","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" throws Exception {","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" public void repoConfig_withFormats_ignoreCliFormats() throws Exception {","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FORMATS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_FORMATS, actualConfigs.get(0).getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormats_useCliFormats() throws Exception {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e actualFormats \u003d actualConfigs.get(0).getFileTypeManager().getFormats();","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileType.convertFormatStringsToFileTypes(CLI_FORMATS), actualFormats);","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void repoConfig_withCustomGroups_useCustomGroups() throws Exception {","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(GROUPS_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(actualConfigs, groupConfigs);","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_CONFIG_GROUPS, actualConfigs.get(0).getFileTypeManager().getGroups());","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(SECOND_CONFIG_GROUPS, actualConfigs.get(1).getFileTypeManager().getGroups());","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormatsAndCliFormats_useAllFormats() throws Exception {","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, actualConfigs.get(0).getFileTypeManager()","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":" .getFormats());","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" public void repoConfig_emptyLocationDifferentBranch_equal() throws Exception {","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationEmptyBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"\")","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationDefaultBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\")).build();","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationWithBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationDefaultBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationWithBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void repoConfig_sameLocationDifferentBranch_notEqual() throws Exception {","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationValidBranchRepoConfig \u003d","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationDefaultBranchRepoConfig \u003d","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder().location(new RepoLocation(TEST_REPO_DELTA)).build();","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertNotEquals(validLocationDefaultBranchRepoConfig, validLocationValidBranchRepoConfig);","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":" public void repoConfig_overrideStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(Collections.emptyList())","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(Collections.emptyList())","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT)","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(false)","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(false)","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(Collections.emptyList())","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(true)","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(true)","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(true)","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(false)","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(false)","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(false)","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(false)","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(Arrays.asList(\"lithiumlkid\"))","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(true)","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthorList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":" Author[] authors \u003d new Author[]{FIRST_AUTHOR, SECOND_AUTHOR, THIRD_AUTHOR, FOURTH_AUTHOR};","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" for (Author author : authors) {","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" Author expectedAuthor \u003d new Author(author);","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedAuthorIgnoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.addAll(author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" // Authors\u0027 original ignoreGlobList contains values from StandaloneConfig repo level, thus need to remove","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.removeAll(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":" expectedAuthor.setIgnoreGlobList(expectedAuthorIgnoreGlobList);","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" expectedAuthorList.add(expectedAuthor);","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthorList);","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayNameMap(repoDeltaStandaloneConfig.getAuthorDisplayNameMap());","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorNamesToAuthorMap(repoDeltaStandaloneConfig.getAuthorNamesToAuthorMap());","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorEmailsToAuthorMap(repoDeltaStandaloneConfig.getAuthorEmailsToAuthorMap());","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(OVERRIDE_STANDALONE_TEST_CONFIG_FILE)","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" public void repoConfig_minimalStandaloneConfig_fieldsAssignedDefaultValues() throws Exception {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" Author firstAuthor \u003d new Author(\"bluein-green\");","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" Author secondAuthor \u003d new Author(\"jylee-git\");","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d Arrays.asList(firstAuthor, secondAuthor);","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(Collections.emptyList());","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(Collections.emptyList());","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreCommitList(Collections.emptyList());","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"-"},"content":" public void repoConfig_removeIgnoredAuthors_success() throws Exception {","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoredAuthorsList(Arrays.asList(\"jordancjq\", \"Eugene Peh\"));","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_AUTHORS_TEST_CONFIG_FILE)","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"-"},"content":" Method updateAuthorList \u003d ReportGenerator.class.getDeclaredMethod(\"updateAuthorList\", RepoConfiguration.class);","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" updateAuthorList.setAccessible(true);","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" updateAuthorList.invoke(reportGenerator, actualConfig);","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_displayName_success() throws Exception {","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"asdfghjkxd"},"content":" .displayName(\"CS3281\")","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getDisplayName(), \"CS3281\");","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_outputFolderName_success() throws Exception {","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"asdfghjkxd"},"content":" .outputFolderName(\"CS3281 Folder\")","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getOutputFolderName(), \"CS3281 Folder\");","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_repoFolderName_success() throws Exception {","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"asdfghjkxd"},"content":" .repoFolderName(\"CS3281 Folder\")","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getRepoFolderName(), \"CS3281 Folder\");","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_zoneID_success() throws Exception {","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"asdfghjkxd"},"content":" .zoneId(ZoneId.systemDefault())","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getZoneId(), ZoneId.systemDefault());","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_sinceDate_success() throws Exception {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"asdfghjkxd"},"content":" .sinceDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getSinceDate(),","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_untilDate_success() throws Exception {","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"asdfghjkxd"},"content":" .untilDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getUntilDate(),","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_authorConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"asdfghjkxd"},"content":" RepoLocation loc \u003d new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG);","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"asdfghjkxd"},"content":" String branch \u003d \"master\";","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"asdfghjkxd"},"content":" .authorConfig(new AuthorConfiguration(loc, branch))","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"asdfghjkxd"},"content":" .location(loc)","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getAuthorConfig(),","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"asdfghjkxd"},"content":" new AuthorConfiguration(loc, branch));","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_isLastModifiedDateIncluded_success() throws Exception {","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"asdfghjkxd"},"content":" .isLastModifiedDateIncluded(true)","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(actualConfig.isLastModifiedDateIncluded());","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_buildWithInvalid_failure() {","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(ConfigurationBuildException.class, () -\u003e new RepoConfiguration.Builder().build());","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":244,"-":719}},{"path":"src/test/java/reposense/model/RepoLocationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.getDomainNameFromDomain;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.isLocalRepo;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assumptions;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.AssertUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoLocationTest {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE \u003d \"repo\";","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO \u003d \"../path/to/repo\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE \u003d \"/path/to/repo\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_ONE \u003d \"path/to/repo/.git\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_TWO \u003d \"file://path/to/repo.git\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_ONE \u003d \"file://path/to/repo\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_TWO \u003d \"file:///path/to/repo\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO \u003d \"..\\\\path\\\\to\\\\repo\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\.git\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE \u003d \"C:\\\\path\\\\to\\\\repo.git\";","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_ONE \u003d \"..\\\\path/to\\\\repo\";","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_TWO \u003d \"file://path\\\\to\\\\repo.git\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED \u003d \"C:\\\\path/to/repo.git\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String EXPECTED_REPO_NAME \u003d \"repo\";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String EXPECTED_ORGANIZATION \u003d \"path-to\";","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String EXPECTED_DOMAIN_NAME \u003d \"github\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String EXPECTED_UNRECOGNISED_DOMAIN_NAME \u003d UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void repoLocation_parseEmptyString_success() throws Exception {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(\"\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void isLocalRepo_validLocalRepos_success() throws Exception {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE));","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE));","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(\"./abc:def\"));","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void isLocalRepo_remoteRepos_returnsFalse() throws Exception {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"https://github.com/reposense/RepoSense.git/\"));","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"git@github.com:reposense/RepoSense.git/\"));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void repoLocation_parseLocalRepoLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" // local paths not containing \".git\" should be valid","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" // relative pathing should be considered part of the \u0027organization\u0027 for differentiation","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // local paths containing \".git\" should also be valid","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // file-type url protocol (file://) is accepted by git clone","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_ONE,","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_TWO,","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public void repoLocation_parseWindowsLocalRepoLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assumptions.assumeTrue(SystemUtil.isWindows());","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" // repeated tests but with windows file separators","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE,","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_TWO,","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED,","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void repoLocation_parseValidRemoteRepoUrl_success() throws Exception {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // valid url without specifying branch","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git\",","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"testrepo-Beta\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Delta.git\",","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"testrepo-Delta\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://gitlab.com/reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"gitlab\");","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense.git\",","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" // valid url to parse for obtaining repo and organization, just not a valid git clone target","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/.git\",","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" // valid url from other domains","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://bitbucket.org/reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"bitbucket\");","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" // valid url from unsupported domain with longer path to git directory than the standard organization/reponame","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://opensource.ncsa.illinois.edu/bitbucket/scm/u3d/3dutilities.git\",","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"3dutilities\", \"bitbucket-scm-u3d\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" // treated as valid but will be caught when git clone fails","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta/tree/add-config-json\",","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta-tree\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git/tree/add-config-json\",","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta.git-tree\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" // URLs without \".git\" should be accepted as git clone works even without it","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense\",","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/RepoSense\",","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" // Test against other types of URL protocols that are valid for git clone","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertParsableLocation(\"ssh://git@github.com/path/to/repo.git/\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git://github.com/path/to/repo.git\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://host.xz:9000/path/to/repo.git\",","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // Test against the conventional ssh protocol used for GitHub, e.g. git@github.com:reposense/RepoSense.git","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertParsableLocation(\"repo@organization.com:path/to/repo.git/\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git@github.com:reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" public void repoLocation_parseNormalizableRepoLocations_success() throws Exception {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/redundant/directories/../../RepoSense.git\",","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertParsableLocation(\"/path/with/redundant/directories/../.././../to/repo\",","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Tests if there is an additional \u0027../\u0027 it is not consumed by accident","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertParsableLocation(\"path/with/redundant/directories/../../../../../to/repo\",","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-to\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void repoLocation_parseInvalidRemoteRepo_throwsInvalidLocationException() throws Exception {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // Invalid URL protocol","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"ttp://github.com/reposense.RepoSense.git\");","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"not-valid-protocol://abc.com/reposense/RepoSense.git\");","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" // URL contains illegal characters","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"https://github.com/contains-illegal-chars/^\\\\/\");","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseValidDomain_success() throws Exception {","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"www.github.com\"));","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"github.com\"));","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gitlab\", getDomainNameFromDomain(\"www.gitlab.org\"));","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"bitbucket\", getDomainNameFromDomain(\"ww2.bitbucket.com\"));","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" // valid but unsupported","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" Assertions.assertEquals(UNSUPPORTED_DOMAIN_NAME, getDomainNameFromDomain(\"opensource.ncsa.illinois.edu\"));","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseInvalidDomain_throwsInvalidLocationException() throws Exception {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // no top level domain specified","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"www.github\"));","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github\"));","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" // has a dot but still no top level domain specified","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github.\"));","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * Compares the information of {@code rawLocation} parsed by the RepoLocation model with {@code expectedRepoName}","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * and {@code expectedOrganization}.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" public void assertParsableLocation(String rawLocation, String expectedRepoName,","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" String expectedOrganization, String expectedDomainName) throws Exception {","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(rawLocation);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoName, repoLocation.getRepoName());","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedOrganization, repoLocation.getOrganization());","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedDomainName, repoLocation.getDomainName());","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" private void assertUnparsableLocation(String rawLocation) {","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e new RepoLocation(rawLocation));","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":207}},{"path":"src/test/java/reposense/parser/ArgsParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.time.Month;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"public class ArgsParserTest {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path PROJECT_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\"));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Path CONFIG_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"cli_location_test\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"output\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_RELATIVE \u003d PROJECT_DIRECTORY.relativize(CONFIG_FOLDER_ABSOLUTE);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_RELATIVE \u003d PROJECT_DIRECTORY.relativize(OUTPUT_DIRECTORY_ABSOLUTE);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_CSV_FILE \u003d","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_CSV_FILE \u003d","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String NONEXISTENT_DIRECTORY \u003d \"some_non_existent_dir/\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final InputBuilder DEFAULT_INPUT_BUILDER \u003d new InputBuilder();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_REPOSENSE \u003d \"https://github.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE \u003d \"https://github.com/reposense/testrepo-Charlie.git\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String DEFAULT_TIME_ZONE_STRING \u003d \"Asia/Singapore\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final ZoneId DEFAULT_TIME_ZONE_ID \u003d TestUtil.getZoneId(DEFAULT_TIME_ZONE_STRING);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public void before() {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" DEFAULT_INPUT_BUILDER.reset().addConfig(CONFIG_FOLDER_ABSOLUTE);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" public void after() {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY).toString());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.err.println(e.getMessage());","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" public void parse_d1CorrectTimeZone_success() throws Exception {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(DEFAULT_TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputs_success() throws Exception {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js\")","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void parse_help_throwsHelpScreenException() {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" String input \u003d \"--help\";","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" Assertions.assertThrows(HelpScreenException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputsAlias_success() throws Exception {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" String input \u003d String.format(","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"-c \\\"%s\\\" -o \\\"%s\\\" -s 01/07/2017 -u 30/11/2017 -f java adoc html css js -i -I -v -t %s\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE, OUTPUT_DIRECTORY_ABSOLUTE, DEFAULT_TIME_ZONE_STRING);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void parse_withExtraWhitespaces_success() throws Exception {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).addWhiteSpace(5)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE).addWhiteSpace(4)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\").addWhiteSpace(3)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\").addWhiteSpace(6)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js \")","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig().addWhiteSpace(1)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit().addWhiteSpace(2)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .addView().addWhiteSpace(4)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING).addWhiteSpace(5)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList(","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void parse_configFolderOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" // Optional arguments have default values","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE).build();","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Optional arguments have default values","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.systemDefault(), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void parse_viewOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView(OUTPUT_DIRECTORY_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE, cliArguments.getReportDirectoryPath()));","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" public void parse_withIgnore_success() throws Exception {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .add(\"-i\")","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.equals(cliArgumentsWithAlias));","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void parse_withoutIgnore_success() throws Exception {","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void parse_viewOnlyWithoutArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView().build();","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), (","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" cliArguments).getConfigFolderPath().toString());","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void parse_configFolderAndOutputDirectory_success() throws Exception {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d OUTPUT_DIRECTORY_RELATIVE.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" Path expectedAbsoluteOutputDirectoryPath \u003d OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_RELATIVE)","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedAbsoluteOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithouthArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" public void sinceDate_correctFormat_success() throws Exception {","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" public void untilDate_correctFormat_success() throws Exception {","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" public void sinceDate_withExtraDate_success() throws Exception {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addSinceDate(\"\\\"01/07/2017 01/07/2018\\\"\")","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" public void untilDate_withExtraTime_success() throws Exception {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" .addUntilDate(\"\\\"30/11/2017 10:10:10\\\"\")","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" public void period_inDaysWithSinceDate_success() throws Exception {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" .addPeriod(\"2d\")","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.JULY.getValue(), 3);","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" public void period_inWeeksWithUntilDate_success() throws Exception {","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" .addUntilDate(\"14/07/2017\")","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" .addPeriod(\"2w\")","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JUNE.getValue(), 30);","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" public void formats_inAlphanumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\"java js css 7z\").build();","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"js\", \"css\", \"7z\"));","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" public void numCloningThreads_default_success() throws Exception {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_CLONING_THREADS;","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" public void numCloningThreads_isNumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" .addNumCloningThreads(2)","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" System.out.println(input);","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_default_success() throws Exception {","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_ANALYSIS_THREADS;","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_isNumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" .addNumAnalysisThreads(2)","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" public void parse_validGitRepoLocations_repoConfigurationListCorrectSize() throws Exception {","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, repoConfigs.size());","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndView_returnsLocationCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" public void parse_repoLocationsOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndViewWithArgs_returnsLocationsCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" public void parse_configOrLocationsSimilar_success() throws Exception {","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" CliArguments configCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualRepoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" .getRunConfiguration(configCliArguments)","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addRepos(TEST_REPO_BETA, TEST_REPO_CHARLIE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" CliArguments locationCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedRepoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" .getRunConfiguration(locationCliArguments)","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" Assertions.assertEquals(actualRepoConfigs, expectedRepoConfigs);","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" public void emptyArgs_defaultConfigFolderPath() throws Exception {","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(new String[] {});","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), cliArguments.getConfigFolderPath().toString());","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void parse_repoAliases_sameResult() throws Exception {","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_BETA).build();","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" CliArguments repoAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().add(String.format(\"--repos %s\", TEST_REPO_BETA)).build();","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" CliArguments reposAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" Assertions.assertEquals(repoAliasCliArguments, reposAliasCliArguments);","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void absoluteConfigFolder_withoutRequiredConfigFiles_throwsParseException() {","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" Path absDirectory \u003d PROJECT_DIRECTORY.getParent().toAbsolutePath();","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absDirectory).build();","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void relativeConfigFolder_withoutRequiredConfigFiles_throwsParseException() {","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" Path relDirectory \u003d PROJECT_DIRECTORY.getParent();","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(relDirectory).build();","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" public void parse_notExistsConfigFolder_throwsParseException() {","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" Path absConfigFolder \u003d PROJECT_DIRECTORY.resolve(\"non_existing_random_folder\");","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absConfigFolder).build();","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":" public void parse_configCsvFileAsConfigFolder_throwsParseException() {","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(REPO_CONFIG_CSV_FILE).build();","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" public void parse_missingConfigValue_throwsParseException() {","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(new File(\"\").toPath()).build();","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void outputPath_nonExistentDirectory_success() throws Exception {","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" Path nonExistentDirectory \u003d PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY);","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d nonExistentDirectory.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOutput(nonExistentDirectory).build();","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"-"},"content":" public void sinceDate_unsupportedFormats_throwsParseException() {","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01 July 17\").build();","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void untilDate_unsupportedFormats_throwsParseException() {","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addUntilDate(\"11/31/2017\").build();","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanUntilDate_throwsParseException() {","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01/12/2017\")","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanCurrentDate_throwsParseException() {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" .plusDays(1L);","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" public void sinceDate_beforeUntilDateAndLaterThanCurrentDate_throwsParseException() {","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":" .plusDays(1L);","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" LocalDateTime dayAfterDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" .plusDays(2L);","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" String dayAfter \u003d dayAfterDateTime.format(formatter);","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" .addUntilDate(dayAfter)","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void period_withBothSinceDateAndUntilDate_throwsParseException() {","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"18d\")","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" .addSinceDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" .addUntilDate(\"01/12/2017\")","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void period_notNumeric_throwsParseExcpetion() {","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"abcd\").build();","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void period_isZero_throwsParseExcpetion() {","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"0w\").build();","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void formats_notInAlphanumeric_throwsParseException() {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\".java\").build();","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":" public void parse_mutuallyExclusiveArgumentsConfigAndReposTogether_throwsParseException() {","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" .addRepos(TEST_REPO_REPOSENSE)","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" public void parse_extraArgumentForIgnore_throwsParseException() {","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addIgnoreStandaloneConfig().add(\"true\").build();","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" public void parse_withTimezone_success() throws Exception {","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC+11\";","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC-1030\";","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC\";","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" public void parse_incorrectTimezone_throwsParseException() {","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"UTC+\").build();","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":" public void parse_timezoneWithoutArgument_throwsParseException() {","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"\").build();","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"-"},"content":" public void parse_shallowCloning_success() throws Exception {","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" Assertions.assertEquals(false, cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":" String inputShallow \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsShallow \u003d ArgsParser.parse(translateCommandline(inputShallow));","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" Assertions.assertEquals(true, cliArgumentsShallow.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"-"},"content":" public void parse_withAnalyzeAuthorship_success() throws Exception {","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"-"},"content":" .addAnalyzeAuthorship()","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":" .add(\"-A\")","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" public void parse_withoutAnalyzeAuthorship_success() throws Exception {","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_BETA).build();","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void parse_withOriginalityThreshold_success() throws Exception {","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOriginalityThreshold(0.1234).build();","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().add(\"-ot 0.9876\").build();","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" Assertions.assertEquals(0.1234, cliArguments.getOriginalityThreshold());","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" Assertions.assertEquals(0.9876, cliArgumentsWithAlias.getOriginalityThreshold());","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" public void parse_originalityThresholdWithoutArgument_throwsParseException() {","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().add(\"-ot\").build();","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":" public void parse_originalityThresholdOutOfBound_throwsParseException() {","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" String inputBelowBound \u003d new InputBuilder().addOriginalityThreshold(-0.001).build();","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" String inputAboveBound \u003d new InputBuilder().addOriginalityThreshold(1.0001).build();","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(inputBelowBound)));","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(inputAboveBound)));","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":" * Ensures that {@code actualSinceDate} is exactly one month before {@code untilDate}.","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualSinceDate} is not one month before {@code untilDate}.","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" private void assertDateDiffOneMonth(LocalDateTime actualSinceDate, LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" LocalDateTime oneMonthBeforeUntilDate \u003d untilDate.withHour(0).withMinute(0).withSecond(0).minusMonths(1);","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualSinceDate.equals(oneMonthBeforeUntilDate));","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":" * Ensures that {@code actualUntilDate} falls on the date of report generation with time at 23:59:59.","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualUntilDate} does not fall on the date of report generation","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"-"},"content":" * with time at 23:59:59.","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":" private void assertDateDiffEndOfDay(LocalDateTime actualUntilDate) {","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d LocalDateTime.now().withHour(23).withMinute(59).withSecond(59).withNano(0);","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualUntilDate.equals(currentDate));","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":804}},{"path":"src/test/java/reposense/parser/AuthorConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.AbstractMap.SimpleEntry;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class AuthorConfigParserTest {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_emptyLocation_test.csv\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_CONFIG_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/require_trailing_whitespaces/authorconfig_emptyConfig_test.csv\");","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_noSpecialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_specialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_commasAndDoubleQuotes_test.csv\");","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleEmails_test.csv\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_MANDATORY_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_UNKNOWN_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_unknownHeaders_test.csv\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GITHUB_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHubIdHeader_test.csv\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GIT_HOST_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHostIdHeader_test.csv\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRow_test.csv\");","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowSingleBranchPerRepo_test.csv\");","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowMultipleBranchPerRepo_test.csv\");","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS \u003d","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Arrays.asList(FIRST_AUTHOR, SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" private static final Author FIRST_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"‘Processed�‘Cooked�\");","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final Author SECOND_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"(codeeong)\");","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author THIRD_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"^:jordancjq;$\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FIRST_SPECIAL_CHARACTER_AUTHOR, SECOND_SPECIAL_CHARACTER_AUTHOR, THIRD_SPECIAL_CHARACTER_AUTHOR);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final Author FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"ProcessedCooked\");","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final Author SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"codeeong\");","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final Author THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"jordancjq\");","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"Tay Fan Gao, Douya\";","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final String SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"\\\"\\\"Tora, S/O,\\\" Doyua, T.\\\"\";","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"jordancjq\";","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" Collections.singletonList(\"Tay Fan Gao, Douya \\\"SOC, Y2S1\\\"\");","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" Arrays.asList(\"Borex T\\\"ony Tong\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, List\u003cString\u003e\u003e AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR, FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS),","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR, SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS))","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, String\u003e AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR,","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR,","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME))","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_EMAIL_LIST \u003d","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" Arrays.asList(\"nbr@example.com\", \"nbriannl@test.net\", \"nbriannl@users.noreply.github.com\",","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"nbriannl@users.noreply.gitlab.com\");","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void authorConfig_noSpecialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" public void authorConfig_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" AuthorConfiguration expectedConfig \u003d new AuthorConfiguration(new RepoLocation(\"\"));","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_LOCATION_FILE);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig \u003d authorConfigs.get(0);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, authorConfigs.size());","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getLocation(), authorConfig.getLocation());","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfig.getBranch());","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void authorConfig_emptyConfig_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_CONFIG_FILE);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void authorConfig_specialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void authorConfig_multipleEmails_success() throws Exception {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Author actualAuthor \u003d config.getAuthorList().get(0);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_AUTHOR_EMAIL_LIST.size(), actualAuthor.getEmails().size());","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualAuthor.getEmails().containsAll(FIRST_AUTHOR_EMAIL_LIST));","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void authorConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void authorConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER);","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, config.getAuthorList().size());","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void authorConfig_newGitHostIdHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser;","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GIT_HOST_ID_HEADER);","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHostIdHeader \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GITHUB_ID_HEADER);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHubIdHeader \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configsWithGitHubIdHeader, configsWithGitHostIdHeader);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" public void authorConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_MANDATORY_HEADER);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" public void authorConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_UNKNOWN_HEADER);","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void parse_multipleColumnsWithCommasAndDoubleQuotes_success() throws Exception {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE);","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP, config.getAuthorDisplayNameMap());","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.size(), config.getAuthorList().size());","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" config.getAuthorList().forEach(author -\u003e {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.get(author), author.getAuthorAliases());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRow_success() throws Exception {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" String defaultSpecifiedBranch \u003d \"master\";","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/reposense.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/markbind/markbind.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/TEAMMATES/teammates.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/CATcher-org/CATcher.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowSingleBranchPerRepo_success() throws Exception {","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/RepoSense.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowMultipleBranchPerRepo_success() throws Exception {","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE);","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(5, configs.size());","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" config \u003d configs.get(4);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gh-pages\", config.getBranch());","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":315}},{"path":"src/test/java/reposense/parser/BlurbMarkdownParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMarkdownParserTest {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path EMPTY_BLURB_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/empty_blurbs.md\");","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MALFORMED_URL_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/malformed_url_blurb.md\");","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MALFORMED_DELIMITER_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/malformed_delimiter_blurb.md\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MULTILINE_BLURB_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/multiline_blurb.md\");","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MULTIPLE_BLURB_TESTER \u003d loadResource(BlurbMarkdownParser.class,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/multiple_blurbs.md\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_emptyBlurbTest_throwsException() {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" InvalidMarkdownException.class, () -\u003e new BlurbMarkdownParser(EMPTY_BLURB_TESTER).parse()","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_malformedUrlBlurbTest_throwsException() {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" InvalidMarkdownException.class, () -\u003e new BlurbMarkdownParser(MALFORMED_URL_TESTER).parse()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_malformedDelimiterBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MALFORMED_DELIMITER_TESTER);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.containsKey(\"https://github.com/reposense/testrepo-Alpha/tree/master\"));","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" + \"\u003c!--repo--bunchofcharacters that don\u0027t count\u003e\\n\"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" + \"https://github.com/reposense/testrepo-Alpha/tree/master\\n\"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" + \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" + \"\u003c!--repo - this is not legal and will be captured as part of the text --\u003e\"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_multilineBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MULTILINE_BLURB_TESTER);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.containsKey(\"https://github.com/reposense/testrepo-Alpha/tree/master\"));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" + \"A\\n\"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" + \"long\\n\"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" + \"line\\n\"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" + \"of\\n\"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" + \"description\\n\"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" + \"of\\n\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" + \"testrepo\\n\"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" + \"Alpha\"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_multipleBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MULTIPLE_BLURB_TESTER);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.keySet().containsAll(","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":" List.of(\"https://github.com/reposense/testrepo-Alpha/tree/master\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Beta/tree/master\",","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Gamma/tree/master\",","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Sigma/tree/master\")","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" ));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Beta/tree/master\"),","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Beta\"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Gamma/tree/master\"),","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Gamma\"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Sigma/tree/master\"),","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Sigma\"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":101}},{"path":"src/test/java/reposense/parser/GroupConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class GroupConfigParserTest {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MULTI_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_multipleLocation_test.csv\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_emptyLocation_test.csv\");","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_unknownHeader_test.csv\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" new FileType(\"Code\", Arrays.asList(\"**/*.java\", \"**/*.py\")),","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" new FileType(\"Docs\", Collections.singletonList(\"docs/**\")));","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" new FileType(\"Main\", Collections.singletonList(\"src/main/**\")),","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" new FileType(\"Test\", Arrays.asList(\"src/test/**\", \"src/systest/**\")));","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void groupConfig_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_EMPTY_LOCATION_FILE);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" GroupConfiguration actualReposenseConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualReposenseConfig.getGroupsList().size());","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" GroupConfiguration actualEmptyLocationConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualEmptyLocationConfig.getGroupsList().size());","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void groupConfig_multipleLocations_success() throws Exception {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MULTI_LOCATION_FILE);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void groupConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void groupConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, groupConfigs.size());","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, groupConfigs.get(0).getGroupsList().size());","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void groupConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e groupConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void groupConfig_unknownHeader_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" GROUP_CONFIG_UNKNOWN_HEADER_FILE);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e groupConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":109}},{"path":"src/test/java/reposense/parser/RepoConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class RepoConfigParserTest {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path TEST_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class, \"repoconfig_merge_test\");","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path TEST_EMPTY_BRANCH_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"repoconfig_empty_branch_test\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_noSpecialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OVERRIDE_KEYWORD_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_overrideKeyword_test.csv\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_REDUNDANT_LINES_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/require_trailing_whitespaces/repoconfig_redundantLines_test.csv\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE \u003d","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unrecognizedValuesForYesKeywordHeaders_test.csv\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE \u003d","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseSensitive_test.csv\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE \u003d","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseInsensitive_test.csv\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final Path MERGE_EMPTY_LOCATION_FOLDER \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_merge_empty_location_test\");","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unknownHeaders_test.csv\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_INVALID_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_invalidFileSizeLimit_test.csv\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_ignoreFileSizeLimit_test.csv\");","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_ZERO_VALID_RECORDS \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"CsvParserTest/repoconfig_zeroValidRecords_test.csv\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH \u003d \"add-config-json\";","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_FORMATS \u003d","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"fxml\"));","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_CONFIG_FORMATS \u003d","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"adoc\", \"md\"));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TEST_REPO_BETA_CONFIG_IGNORED_COMMITS \u003d","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" Arrays.asList(\"abcde12345\", \"67890fdecba\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final int FILE_SIZE_LIMIT_VALUE \u003d 100000;","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_LOCATION \u003d \"https://github.com/reposense/testrepo-Charlie.git\";","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Arrays.asList(\"Zachary Tang\");","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Arrays.asList(\"collated**\");","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.java\", \"collated**\");","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.doc\", \"collated**\");","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void repoConfig_noSpecialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getFileSizeLimit(), FILE_SIZE_LIMIT_VALUE);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void merge_twoRepoConfigs_success() throws Exception {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration firstRepo \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" firstRepo.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" firstRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" firstRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration secondRepo \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" secondRepo.setAuthorList(Arrays.asList(SECOND_AUTHOR));","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" secondRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" secondRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" secondRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_CONFIG_FOLDER).build();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(firstRepo, actualConfigs.get(0));","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(secondRepo, actualConfigs.get(1));","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void merge_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedBetaAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedDeltaAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" expectedDeltaAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoConfiguration expectedBetaConfig \u003d","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorList(expectedBetaAuthors);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" expectedBetaConfig.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" RepoConfiguration expectedDeltaConfig \u003d","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA_LOCATION))","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_DELTA_BRANCH)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorList(expectedDeltaAuthors);","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setFormats(TEST_REPO_DELTA_FORMATS);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedConfigs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedBetaConfig);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedDeltaConfig);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(MERGE_EMPTY_LOCATION_FOLDER).build();","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfigs, actualConfigs);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(0), actualConfigs.get(0));","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(1), actualConfigs.get(1));","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void repoConfig_defaultBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_EMPTY_BRANCH_CONFIG_FOLDER).build();","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), actualConfigs.get(0).getBranch());","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfigs.get(0).getBranch());","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" public void repoConfig_overrideKeyword_success() throws Exception {","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OVERRIDE_KEYWORD_FILE);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS),","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" config.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FILE_SIZE_LIMIT_VALUE, config.getFileSizeLimit());","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" public void repoConfig_redundantLines_success() throws Exception {","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_REDUNDANT_LINES_FILE);","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, configs.size());","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" RepoConfiguration betaConfig \u003d configs.get(0);","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" RepoConfiguration charlieConfig \u003d configs.get(1);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" RepoConfiguration deltaConfig \u003d configs.get(2);","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), betaConfig.getLocation());","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, betaConfig.getBranch());","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_CHARLIE_LOCATION), charlieConfig.getLocation());","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_CHARLIE_BRANCH, charlieConfig.getBranch());","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_DELTA_LOCATION), deltaConfig.getLocation());","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_BRANCH, deltaConfig.getBranch());","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(deltaConfig.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void repoConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void repoConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_FILE_SIZE_LIMIT, config.getFileSizeLimit());","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" public void repoConfig_withUnrecognizedValuesForYesKeywordHeaders_valuesIgnored() throws Exception {","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE);","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" public void repoConfig_invalidFileSizeLimit_valueIgnored() throws Exception {","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_INVALID_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configs.get(0).getFileSizeLimit(), DEFAULT_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_ignoreFileSizeColumns() throws Exception {","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" Assertions.assertTrue(configs.get(0).isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void repoConfig_mandatoryHeaderMissing_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE);","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" public void repoConfig_zeroValidRecords_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_ZERO_VALID_RECORDS);","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseSensitive_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE);","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseInsensitive_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE);","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNKNOWN_HEADER_FILE);","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":22,"-":370}},{"path":"src/test/java/reposense/parser/StandaloneConfigJsonParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class StandaloneConfigJsonParserTest {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_MALFORMED_CONFIG \u003d loadResource(","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class, \"StandaloneConfigJsonParserTest/standaloneConfig_malformedJson.json\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_UNKNOWN_PROPERTY_CONFIG \u003d loadResource(","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_unknownPropertyInJson.json\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_FULL \u003d loadResource(","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_full.json\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_TEXT_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyText.json\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_JSON_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyJson.json\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_GITHUBID_ONLY \u003d loadResource(","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_githubId_only.json\");","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String TEST_DUMMY_LOCATION \u003d \"https://github.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedGithubIdOnlyRepoconfig;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedFullRepoConfig;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" Author author \u003d new Author(\"yong24s\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(\"Yong Hao TENG\"));","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(Arrays.asList(\"**.css\", \"**.html\", \"**.jade\", \"**.js\"));","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" expectedGithubIdOnlyRepoconfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setFormats(FileTypeTest.NO_SPECIFIED_FORMATS);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setAuthorList(Arrays.asList(new Author(\"yong24s\")));","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" expectedFullRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setFormats(FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" Arrays.asList(\"gradle\", \"jade\", \"java\", \"js\", \"md\", \"scss\", \"yml\")));","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreCommitList(Arrays.asList(new CommitHash(","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"7b96c563eb2d3612aa5275364333664a18f01491\")));","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreGlobList(Arrays.asList(\"**.adoc\", \"collate**\"));","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoredAuthorsList(Arrays.asList(\"yong24s\"));","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorList(Arrays.asList(author));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorDisplayName(author, \"Yong Hao\");","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, Arrays.asList(author.getGitId()));","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, author.getAuthorAliases());","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyTextFile_success() throws Exception {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_TEXT_FILE);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyJsonFile_success() throws Exception {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_JSON_FILE);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void standaloneConfig_ignoresUnknownProperty_success() throws Exception {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_UNKNOWN_PROPERTY_CONFIG);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void standaloneConfig_correctConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_FULL);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertSameConfig(expectedFullRepoConfig, config);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void standaloneConfig_githubIdOnlyConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_GITHUBID_ONLY);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertSameConfig(expectedGithubIdOnlyRepoconfig, config);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public void standaloneConfig_malformedJsonFile_throwsJsonSyntaxException() {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(JsonSyntaxException.class, () -\u003e new StandaloneConfigJsonParser()","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" .parse(STANDALONE_MALFORMED_CONFIG));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" private void assertSameConfig(RepoConfiguration expectedRepoConfig, StandaloneConfig actualStandaloneConfig)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" throws Exception {","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" actualRepoConfig.update(actualStandaloneConfig);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedRepoConfig, actualRepoConfig);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":114}},{"path":"src/test/java/reposense/report/ErrorSummaryTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class ErrorSummaryTest {","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" public void errorSummary_addRepeatedErrorMessage_containsNoDuplicates() {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" String invalidLocation1 \u003d \"ttp://github.com/reposense.RepoSense.git\";","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" String invalidLocation2 \u003d \"https://github.com/contains-illegal-chars/^\\\\/\";","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" String invalidLocation3 \u003d \"not-valid-protocol://abc.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" ErrorSummary errorSummaryInstance \u003d ErrorSummary.getInstance();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" errorSummaryInstance.clearErrorSet();","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation2);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation3);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":53}},{"path":"src/test/java/reposense/report/RepoClonerTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoClonerTest {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_EMPTY_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Empty.git\";","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path REPOCLONE_LOCAL_TEST_PATH \u003d","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" Paths.get(FileUtil.REPOS_ADDRESS, \"repoclone test/dummy-repo\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public void repoCloner_emptyRepo_failsGracefully() throws Exception {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" RepoConfiguration emptyRepositoryRepoConfig \u003d","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_EMPTY_GIT_LOCATION)).build();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(emptyRepositoryRepoConfig);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Assertions.assertNull(clonedRepoLocation);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void repoCloner_validRepoLocationWithRelativePathingAndSpaces_success() throws Exception {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" // Clones a test repository into the test directory for testing of relative pathing","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration tempRemoteConfiguration \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION)).build();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneBare(tempRemoteConfiguration, Paths.get(\".\"), REPOCLONE_LOCAL_TEST_PATH.toString());","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" RepoConfiguration repoWithRelativePathingAndSpacesAndEndingBackslash \u003d","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(REPOCLONE_LOCAL_TEST_PATH.toString())).build();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(repoWithRelativePathingAndSpacesAndEndingBackslash);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(REPOCLONE_LOCAL_TEST_PATH));","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":43}},{"path":"src/test/java/reposense/template/GitTestTemplate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.template;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.parser.ArgsParser.DEFAULT_ORIGINALITY_THRESHOLD;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Iterator;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoAnalyzer;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoExtractor;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Contains templates for git testing.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"public class GitTestTemplate {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected static final String IGNORE_REVS_FILE_NAME \u003d \".git-blame-ignore-revs\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_BLAME_WITH_PREVIOUS_AUTHORS_BRANCH \u003d \"1565-find-previous-authors\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected static final String FIRST_COMMIT_HASH \u003d \"7d7584f\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected static final String ROOT_COMMIT_HASH \u003d \"fd425072e12004b71d733a58d819d845509f8db3\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH \u003d \"2fb6b9b\";","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_LONG \u003d \"2fb6b9b2dd9fa40bf0f9815da2cb0ae8731436c7\";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_PARENT \u003d \"c5a6dc774e22099cd9ddeb0faff1e75f9cf4f151\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" protected static final String SECOND_COMMIT_HASH \u003d \"05310e79fe8e54c5096bacc97b886ab24304d12b\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" protected static final String MERGE_COMMIT_HASH \u003d \"7937ff5334ee45cb51e8cfd83a2237d33568a20c\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" protected static final List\u003cString\u003e MERGE_COMMIT_PARENTS_HASHES \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"22aec0be218b0c71065e65460ab48a2d95c8c681\", \"271bfbb0f0624481825abd812ff1d27768f9aba0\");","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_NAME \u003d \"harryggg\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_NAME \u003d \"fakeAuthor\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" protected static final String UNCONVENTIONAL_AUTHOR_NAME \u003d \"-unconventional_author-\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected static final String WHITESPACE_AUTHOR_NAME \u003d \"whitespace author\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" protected static final String IGNORED_AUTHOR_NAME \u003d \"FH-30\";","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_NAME \u003d \"eugenepeh\";","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" protected static final String YONG_AUTHOR_NAME \u003d \"Yong Hao TENG\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected static final String MINGYI_AUTHOR_NAME \u003d \"myteo\";","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected static final String SHICHEN_AUTHOR_NAME \u003d \"SkyBlaise\";","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" protected static final String JAMES_AUTHOR_NAME \u003d \"jamessspanggg\";","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected static final String JAMES_ALTERNATIVE_AUTHOR_NAME \u003d \"James Pang\";","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" protected static final String JINYAO_AUTHOR_NAME \u003d \"jylee-git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected static final String CHENGYU_AUTHOR_NAME \u003d \"HCY123902\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH \u003d \"abbd5888d5cd4e411c6a8e58e661b0eafdae1335\";","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH_PARENT \u003d \"f768b9b1d9d1478f8ac8cf3b4c7f868479edc07a\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" protected static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING \u003d","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"2d87a431fcbb8f73a731b6df0fcbee962c85c250\";","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" protected static final CommitHash EUGENE_AUTHOR_README_FILE_COMMIT_07052018 \u003d","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" new CommitHash(EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING \u003d","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected static final CommitHash FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018 \u003d","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected static final CommitHash MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018 \u003d","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" new CommitHash(MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected static final String AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING \u003d","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"1d29339e7d16eb5b2bc8fb542e08acedd3d4b0eb\";","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected static final CommitHash AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021 \u003d","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"7d7584fc204922cc5ff3bd5ca073cad6bed2c46a\";","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING \u003d","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"8e4ca1da5d413e9ab84a1e8d1474918afa97f7a1\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING \u003d","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e FAKE_AUTHOR_BLAME_RANGED_COMMIT_LIST_09022018 \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING),","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING),","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING),","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING));","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e AUTHOR_TO_IGNORE_BLAME_COMMIT_LIST_07082021 \u003d Collections.singletonList(","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" );","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" protected static final String NONEXISTENT_COMMIT_HASH \u003d \"nonExistentCommitHash\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" protected static final ZoneId TIME_ZONE_ID \u003d ZoneId.of(\"Asia/Singapore\");","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" protected static final Author MAIN_AUTHOR \u003d new Author(MAIN_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" protected static final Author FAKE_AUTHOR \u003d new Author(FAKE_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" protected static final Author UNCONVENTIONAL_AUTHOR \u003d new Author(UNCONVENTIONAL_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected static final Author WHITESPACE_AUTHOR \u003d new Author(WHITESPACE_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" protected static ThreadLocal\u003cRepoConfiguration\u003e configs \u003d ThreadLocal.withInitial(() -\u003e {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return newRepoConfiguration();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" } catch (Exception e) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" private static final Supplier\u003cString\u003e EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER \u003d () -\u003e","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" String.valueOf(Thread.currentThread().getId());","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" private FileInfoExtractor fileInfoExtractor \u003d new FileInfoExtractor();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" private FileInfoAnalyzer fileInfoAnalyzer \u003d new FileInfoAnalyzer();","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" public void before() throws Exception {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" config.setAuthorList(Collections.singletonList(getAlphaAllAliasAuthor()));","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" config.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(false);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" configs.set(config);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" public static void beforeClass() throws Exception {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" configs.set(config);","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(config, EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get());","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" public void after() {","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" GitCheckout.checkout(configs.get().getRepoRoot(), \"master\");","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" private static RepoConfiguration newRepoConfiguration() throws Exception {","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" return new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION))","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .extraOutputFolderName(EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get())","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" * Generates the .git-blame-ignore-revs file containing {@link CommitHash}es","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * from {@code toIgnore} for the test repo.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e createTestIgnoreRevsFile(List\u003cCommitHash\u003e toIgnore) {","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" String repoRoot \u003d configs.get().getRepoRoot();","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d toIgnore.stream()","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(repoRoot, commitHash);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" String fileLocation \u003d repoRoot + IGNORE_REVS_FILE_NAME;","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(fileLocation, expandedIgnoreCommitList);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" return expandedIgnoreCommitList;","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" public void removeTestIgnoreRevsFile() {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" String fileLocation \u003d configs.get().getRepoRoot() + IGNORE_REVS_FILE_NAME;","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" new File(fileLocation).delete();","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" * For each line in {@link FileResult}, assert that it is attributed to the expected author provided by","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" * {@code expectedLineAuthors}.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void assertFileAnalysisCorrectness(FileResult fileResult, List\u003cAuthor\u003e expectedLineAuthors) {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lines \u003d fileResult.getLines();","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(expectedLineAuthors.size(), lines.size());","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" Iterator\u003cAuthor\u003e lineAuthorsItr \u003d expectedLineAuthors.iterator();","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" Iterator\u003cLineInfo\u003e linesItr \u003d lines.iterator();","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" while (linesItr.hasNext() \u0026\u0026 lineAuthorsItr.hasNext()) {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(lineAuthorsItr.next(), linesItr.next().getAuthor());","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" public FileResult getFileResult(String relativePath) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d fileInfoExtractor.generateFileInfo(configs.get(), relativePath);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" return fileInfoAnalyzer.analyzeTextFile(configs.get(), fileInfo, false, DEFAULT_ORIGINALITY_THRESHOLD);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" * Returns a {@link Author} that has git id and aliases of all authors in testrepo-Alpha, so that no commits","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" * will be filtered out in the `git log` command.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected Author getAlphaAllAliasAuthor() {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" Author author \u003d new Author(MAIN_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(FAKE_AUTHOR_NAME, EUGENE_AUTHOR_NAME, YONG_AUTHOR_NAME));","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" return author;","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"-":206}},{"path":"src/test/java/reposense/util/TestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.URL;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Contains testing related functionalities.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class TestUtil {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int[] END_OF_DAY_TIME \u003d {23, 59, 59};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int[] START_OF_DAY_TIME \u003d {0, 0, 0};","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPARING_FILES \u003d \"Comparing files %s \u0026 %s\\n\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_CONTENT_DIFFERENT \u003d \"Content different at line number %d:\\n\"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" + \"\u003c\u003c %s\\n\"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" + \"\u003e\u003e %s\\n\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINES_LENGTH_DIFFERENT \u003d \"The files\u0027 lines count do not match.\";","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String MOVED_FILE_INDICATION \u003d \"\u003d\u003e \";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int STAT_FILE_PATH_INDEX \u003d 2;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * else prints out the first line of content difference (if any).","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual) throws Exception {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return compareFileContents(expected, actual, 1);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * else prints out maximum {@code maxTraceCounts} lines of content difference (if any).","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual, int maxTraceCounts) throws Exception {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" int traceCounts \u003d 0;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" System.out.println(String.format(MESSAGE_COMPARING_FILES, expected, actual));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" String[] expectedContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(expected))","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" String[] actualContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(actual))","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c Math.min(expectedContent.length, actualContent.length); i++) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (!expectedContent[i].equals(actualContent[i])) {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" System.out.println(","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" String.format(MESSAGE_LINE_CONTENT_DIFFERENT, i + 1, expectedContent[i], actualContent[i]));","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (++traceCounts \u003e\u003d maxTraceCounts) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" break;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (expectedContent.length !\u003d actualContent.length) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.out.println(MESSAGE_LINES_LENGTH_DIFFERENT);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" } else if (traceCounts \u003e\u003d maxTraceCounts) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if {@code expected} directory has all files with same content as {@code actual} directory.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static boolean compareDirectories(Path expected, Path actual) throws Exception {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cPath\u003e expectedPaths \u003d Files.walk(expected)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .sorted()","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cPath\u003e actualPaths \u003d Files.walk(actual)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" .sorted()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (expectedPaths.size() !\u003d actualPaths.size()) {","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedPaths.size(); i++) {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (!(Files.isDirectory(expectedPaths.get(i)) || Files.isDirectory(actualPaths.get(i)))","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 !TestUtil.compareFileContents(expectedPaths.get(i), actualPaths.get(i))) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Creates and returns a {@link LocalDateTime} object with the specified {@code year}, {@code month}, {@code day}","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * and {@code time}.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static LocalDateTime getDate(int year, int month, int date, int[] time) {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" return LocalDateTime.of(year, month, date, time[0], time[1], time[2], 0);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get since date with time 00:00:00","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(int year, int month, int date) {","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" return getDate(year, month, date, START_OF_DAY_TIME);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get until date with time 23:59:59","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}.","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(int year, int month, int date) {","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" return getDate(year, month, date, END_OF_DAY_TIME);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Returns a {@link ZoneId} object for the specified {@code timezone}.","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" public static ZoneId getZoneId(String timezone) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return ZoneId.of(timezone);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedRepoConfig} and {@code actualRepoConfig}.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static void compareRepoConfig(RepoConfiguration expectedRepoConfig, RepoConfiguration actualRepoConfig) {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoConfig, actualRepoConfig);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedRepoConfig.getAuthorList().size(); i++) {","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" compareAuthor(expectedRepoConfig.getAuthorList().get(i), actualRepoConfig.getAuthorList().get(i));","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedAuthor} and {@code actualAuthor}, with exception of it\u0027s display name.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * The display name is not compared as it varies with object construction.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" * It is a transient value and it is not needed for object matching.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static void compareAuthor(Author expectedAuthor, Author actualAuthor) {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getGitId(), actualAuthor.getGitId());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getIgnoreGlobList(), actualAuthor.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getAuthorAliases(), actualAuthor.getAuthorAliases());","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberCommits} is equal to the expected number of commits captured in","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" * {@code gitLogResult}.","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static boolean compareNumberExpectedCommitsToGitLogLines(int expectedNumberCommits, String gitLogResult) {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no commits","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d 0;","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" // (actualSplitGitLogResilt - 1) as the 1st token is always empty.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d (gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER).length - 1);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberFilesChanged} is equal to the actual number of files changed in","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code gitLogResult}.","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" public static boolean compareNumberFilesChanged(int expectedNumberFilesChanged, String gitLogResult) {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no files changed","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" return expectedNumberFilesChanged \u003d\u003d 0;","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" String[] changesLogged \u003d gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" HashSet\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // start from index 1 as index 0 is always empty.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c changesLogged.length; i++) {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" filesChanged.addAll(getFilesChangedInCommit(changesLogged[i]));","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" return filesChanged.size() \u003d\u003d expectedNumberFilesChanged;","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the {@link Set} of files changed in the commit {@code rawCommitInfo}.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" private static Set\u003cString\u003e getFilesChangedInCommit(String rawCommitInfo) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" Set\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" String[] commitInfo \u003d StringsUtil.NEWLINE.split(rawCommitInfo.replaceAll(\"\\n+$\", \"\"));","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" int fileChangedNum \u003d Integer.parseInt(commitInfo[commitInfo.length - 1].trim().split(\" \")[0]);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int fileNum \u003d 0; fileNum \u003c fileChangedNum; fileNum++) {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" filesChanged.add(getFileChanged(commitInfo[commitInfo.length - 2 - fileNum]));","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" return filesChanged;","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Returns the file changed given a {@code rawFileChangedString}.","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" private static String getFileChanged(String rawFileChangedString) {","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" String fileChanged \u003d StringsUtil.TAB.split(rawFileChangedString)[STAT_FILE_PATH_INDEX].trim();","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileChanged.contains(MOVED_FILE_INDICATION)) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileChanged \u003d fileChanged.substring(fileChanged.indexOf(MOVED_FILE_INDICATION)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" + MOVED_FILE_INDICATION.length());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileChanged;","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns true if the test environment is on Windows OS.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" public static boolean isWindows() {","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" return System.getProperty(\"os.name\").toLowerCase().contains(\"win\");","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Returns the {@link Path} to a resource given by {@code pathToResource} string, using {@code classForLoading}.","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static Path loadResource(Class\u003c?\u003e classForLoading, String pathToResource) {","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" ClassLoader classLoader \u003d classForLoading.getClassLoader();","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" URL url \u003d classLoader.getResource(pathToResource);","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" Path path \u003d null;","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" path \u003d Paths.get(url.toURI());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" System.out.println(\"URL format does not follow required standard\");","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" return path;","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":234}},{"path":"src/test/resources/BlurbMarkdownParserTest/malformed_delimiter_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--bunchofcharacters that don\u0027t count\u003e","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo - this is not legal and will be captured as part of the text --\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003ebut this is legal and will be ignored","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7}},{"path":"src/test/resources/BlurbMarkdownParserTest/malformed_url_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"://github/reposense/testrepo-Alp","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Malformed URL Test","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2}},{"path":"src/test/resources/BlurbMarkdownParserTest/multiline_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"A","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"long","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"line","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"of","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"description","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"of","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"testrepo","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"Alpha","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":10}},{"path":"src/test/resources/BlurbMarkdownParserTest/multiple_blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Beta/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Beta","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Gamma/tree/master","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Gamma","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Sigma/tree/master","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Sigma","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12}}] +[{"path":".github/workflows/gh-pages.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: GitHub Pages","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" - master","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" deploy-gh-pages:","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" name: Deploy MarkBind to GitHub Pages","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" path: ~/.npm","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" - name: Install Graphviz","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" run: sudo apt-get -y install graphviz","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Install MarkBind CLI","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" run: npm i -g markbind-cli","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" - name: Build MarkBind website","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" run: cd docs \u0026\u0026 markbind build --baseUrl /RepoSense","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" - name: Deploy to GitHub Pages","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" if: success()","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: crazy-max/ghaction-github-pages@v2","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" target_branch: gh-pages","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" build_dir: docs/_site","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" keep_history: true","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":50}},{"path":".github/workflows/integration.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: Continuous Integration","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches-ignore:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" - gh-pages","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" pull_request:","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" branches-ignore:","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" - gh-pages","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"env:","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" NODE_VER: \u002718.x\u0027","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" JAVA_DISTRIBUTION: \u0027zulu\u0027","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" JAVA_VER: 11","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" mainbuild:","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" name: ${{ matrix.os }} JDK 11","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" strategy:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" fail-fast: false","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" matrix:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.os }}","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" HOMEBREW_NO_AUTO_UPDATE: 1 # Prevent time-consuming brew update","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" fetch-depth: 0","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" - name: Set up JDK 11","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" - name: Verify Java version","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-gradle-","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" path: $HOME/.npm","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-node-","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" if: ${{ runner.os !\u003d \u0027Windows\u0027 }}","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" run: chmod +x gradlew # Windows does not need this","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" - name: Run environmental checks","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" run: ./gradlew environmentalChecks","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" - name: Run linter","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" run: ./gradlew lintFrontend","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" - name: Build with Gradle","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" run: ./gradlew clean checkstyleAll test systemTest coverage","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" - name: Run code coverage","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 ( matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 || matrix.os \u003d\u003d \u0027macos-11\u0027 || matrix.os \u003d\u003d \u0027windows-2022\u0027 ) }}","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" directory: ${{ github.workspace }}/build/reports/jacoco/coverage","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" files: coverage.xml","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" fail_ci_if_error: false","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" - name: Build preview website (pull request)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" run: |","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" git fetch --all \u0026\u0026 git config --global user.email \"-\" \u0026\u0026 git config --global user.name \"-\" \u0026\u0026 ./gradlew run -Dargs\u003d\"--since d1\"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" sudo apt-get -y install graphviz","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" npm install -g markbind-cli","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" (cd docs \u0026\u0026 markbind build)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" - name: Save PR number and HEAD commit (pull request)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" run: |","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" mkdir -p ./pr","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" echo ${{ github.event.number }} \u003e ./pr/NUMBER","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" echo ${{ github.event.pull_request.head.sha }} \u003e ./pr/SHA","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" - name: Upload artifacts (pull request)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" uses: actions/upload-artifact@v3","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" name: reposense-deployment","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" ./reposense-report","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" ./docs/_site","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" ./pr","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" cypress:","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" name: Cypress frontend tests","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" runs-on: ubuntu-20.04","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" fetch-depth: 0","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" - name: Set up JDK 11","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" - name: Verify Java version","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" path: |","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" ${{ runner.os }}-gradle-","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" - name: Set up Node caching","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" uses: actions/cache@v3","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" path: $HOME/.npm","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" restore-keys: |","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" run: chmod +x gradlew","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" - name: Set up environment","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" run: sudo apt-get install -y libgtk2.0-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" - name: Run frontend tests","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" run: ./gradlew frontendTest -Pci","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"sopa301":1,"-":156}},{"path":".github/workflows/surge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow deploys a RepoSense report and the MarkBind documentation","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"# website to surge.sh in a secure manner for pull requests","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"name: Surge.sh build preview","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"on:","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" workflow_run:","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" workflows: [\"Continuous Integration\"]","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" types:","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" - completed","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"jobs:","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" deploy:","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" name: Deploy to surge.sh","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" if: ${{ github.event.workflow_run.event \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 github.event.workflow_run.conclusion \u003d\u003d \u0027success\u0027 }}","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ github.token }}","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" steps:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" - name: Checkout repository","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" - name: Set up Node.js","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Download deployment artifacts","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" workflow: integration.yml","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" run_id: ${{ github.event.workflow_run.id }}","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" name: reposense-deployment","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" path: .","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" - name: Extract PR number","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" id: pr-number","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" run: echo \u0027ACTIONS_PR_NUMBER\u003d\u0027$(cat ./pr/NUMBER) \u003e\u003e $GITHUB_OUTPUT","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" - name: Download deployment status artifacts","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" with:","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" workflow: pending.yml","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" pr: ${{ steps.pr-number.outputs.ACTIONS_PR_NUMBER }}","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" workflow_conclusion: success","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" name: reposense-deployment-id","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" path: ./pr","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as in progress","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh in_progress","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" - name: Install surge","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" run: npm install -g surge","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Deploy to surge.sh","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" if: ${{ success() }}","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" env:","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" SURGE_LOGIN: ${{ secrets.SURGE_LOGIN }}","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh success","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as failure","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" if: ${{ failure() }}","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh failure","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":67}},{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"plugins {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027application\u0027","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" id \u0027idea\u0027","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" id \u0027jacoco\u0027","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" id \u0027java\u0027","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" id \u0027com.liferay.node\u0027 version \u00277.2.18\u0027","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" id \u0027com.github.psxpaul.execfork\u0027 version \u00270.2.0\u0027","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" id \u0027com.palantir.git-version\u0027 version \u00270.13.0\u0027","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"OperatingSystem os \u003d DefaultNativePlatform.currentOperatingSystem;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"mainClassName \u003d \u0027reposense.RepoSense\u0027","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"node.download \u003d false // The Liferay Node Gradle Plugin will use the system PATH to find the Node/npm executable.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"sourceCompatibility \u003d JavaVersion.VERSION_11","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"targetCompatibility \u003d JavaVersion.VERSION_11","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"repositories {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" mavenCentral()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"configurations {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" systemtestImplementation.extendsFrom testImplementation","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" systemtestRuntime.extendsFrom testRuntime","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"dependencies {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String jUnitVersion \u003d \u00275.8.2\u0027","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" implementation group: \u0027com.google.code.gson\u0027 ,name: \u0027gson\u0027, version:\u00272.9.0\u0027","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" implementation group: \u0027net.freeutils\u0027, name: \u0027jlhttp\u0027, version: \u00272.6\u0027","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" implementation group: \u0027net.sourceforge.argparse4j\u0027, name: \u0027argparse4j\u0027, version: \u00270.9.0\u0027","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.ant\u0027, name: \u0027ant\u0027, version: \u00271.10.12\u0027","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.commons\u0027, name: \u0027commons-csv\u0027, version: \u00271.9.0\u0027","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" implementation group: \u0027org.fusesource.jansi\u0027, name: \u0027jansi\u0027, version: \u00272.4.0\u0027","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" implementation group: \u0027com.fasterxml.jackson.dataformat\u0027, name: \u0027jackson-dataformat-yaml\u0027, version: \u00272.17.0\u0027","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: jUnitVersion","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: jUnitVersion","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"sourceSets {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" systemtest {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" compileClasspath +\u003d main.output + test.output","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" runtimeClasspath +\u003d main.output + test.output","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" java.srcDir file(\u0027src/systemtest/java\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" resources.srcDir file(\u0027src/systemtest/resources\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"def installFrontend \u003d tasks.register(\u0027installFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"def buildFrontend \u003d tasks.register(\u0027buildFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027devbuild\u0027]","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"def zipReport \u003d tasks.register(\u0027zipReport\u0027, Zip) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" dependsOn buildFrontend","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" from \u0027frontend/build/\u0027","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \u0027templateZip\u0027","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\u0027src/main/resources\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"def copyCypressConfig \u003d tasks.register(\u0027copyCypressConfig\u0027, Copy) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" description \u0027Copies the config files used by the backend to generate the test report for Cypress testing into an isolated working directory\u0027","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" from \u0027frontend/cypress/config\u0027","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/exampleconfig\u0027","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"def copyMainClasses \u003d tasks.register(\u0027copyMainClasses\u0027, Copy) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" description \u0027Copies the backend classes used to generate the test report for Cypress testing into an isolated working directory\u0027","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" dependsOn classes","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" from \u0027build/classes/java/main\u0027","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/java/main\u0027","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"def compileJava \u003d tasks.compileJava","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"tasks.named(\"processSystemtestResources\").configure {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" duplicatesStrategy \u003d DuplicatesStrategy.INCLUDE","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"tasks.run.dependsOn(zipReport);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"run {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" //the second arguments indicates the default value associated with the property.","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" args System.getProperty(\u0027args\u0027, \u0027\u0027).split()","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" systemProperty \"version\", getRepoSenseVersion()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"checkstyle {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" toolVersion \u003d \u00279.3\u0027","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" getConfigDirectory().set(file(\"$rootProject.projectDir/config/checkstyle\"))","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"idea {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" module {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" sourceSets.systemtest.allSource.srcDirs.each { srcDir -\u003e module.testSourceDirs +\u003d srcDir }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"test {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" testLogging {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" doFirst {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" useJUnitPlatform()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" doLast {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"tasks.shadowJar.dependsOn(zipReport);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"shadowJar {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" archiveFileName \u003d \u0027RepoSense.jar\u0027","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\"${buildDir}/jar/\")","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" manifest {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" attributes \u0027Implementation-Version\u0027: getRepoSenseVersion()","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"tasks.register(\u0027lintFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027lint\u0027]","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"def checkstyleMain \u003d tasks.checkstyleMain","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"def checkstyleTest \u003d tasks.checkstyleTest","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"def checkstyleSystemtest \u003d tasks.checkstyleSystemtest","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"tasks.register(\u0027checkstyleAll\u0027, Checkstyle) {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" dependsOn checkstyleMain, checkstyleTest, checkstyleSystemtest","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" tasks.checkstyleTest.mustRunAfter(\u0027checkstyleMain\u0027)","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" tasks.checkstyleSystemtest.mustRunAfter(\u0027checkstyleTest\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"tasks.register(\u0027environmentalChecks\u0027, Exec) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" workingDir \u0027config/checks/\u0027","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (os.isWindows()){","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027, \u0027/c\u0027, \u0027run-checks.bat\u0027","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" commandLine \u0027sh\u0027, \u0027./run-checks.sh\u0027","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"tasks.register(\u0027systemtest\u0027, Test) {","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" testClassesDirs \u003d sourceSets.systemtest.output.classesDirs","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.systemtest.runtimeClasspath","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" testLogging {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" doFirst {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" useJUnitPlatform()","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" doLast {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"def serveTestReportInBackground \u003d tasks.register(\u0027serveTestReportInBackground\u0027, com.github.psxpaul.task.JavaExecFork) {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" description \u0027Creates a background server process for the test report that is to be used by Cypress\u0027","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" dependsOn zipReport, compileJava, processResources, copyCypressConfig, copyMainClasses","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" workingDir \u003d \u0027build/serveTestReport\u0027","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" main \u003d mainClassName","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.main.runtimeClasspath","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" args \u003d [\u0027--config\u0027, \u0027./exampleconfig\u0027, \u0027--since\u0027, \u0027d1\u0027, \u0027--view\u0027, \u0027-A\u0027]","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" String versionJvmArgs \u003d \u0027-Dversion\u003d\u0027 + getRepoSenseVersion()","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" jvmArgs \u003d [ versionJvmArgs ]","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" waitForPort \u003d 9000","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"def installCypress \u003d tasks.register(\u0027installCypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/cypress/\u0027","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"tasks.register(\u0027cypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"debug\"]","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"tasks.register(\u0027frontendTest\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"tests\"]","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // Run tests in CI without slow motion","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" if (project.hasProperty(\u0027ci\u0027)) {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"ci\"]","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"tasks.withType(Copy) {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d true","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"jacoco {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" toolVersion \u003d \"0.8.7\"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"jacocoTestReport {","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" reports {","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" html.required \u003d true","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" xml.required \u003d true","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" csv.required \u003d false","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" html.destination file(\"${buildDir}/jacocoHtml\")","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" executionData systemtest, frontendTest","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"tasks.register(\u0027coverage\u0027, JacocoReport)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"coverage.configure {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" sourceDirectories.from files(sourceSets.main.allSource.srcDirs)","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" classDirectories.from files(sourceSets.main.output)","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" executionData.from files(jacocoTestReport.executionData)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" afterEvaluate {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" classDirectories.from files(classDirectories.files.collect {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" fileTree(dir: it, exclude: [\u0027**/*.jar\u0027])","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" reports {","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" html.required \u003d true","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" xml.required \u003d true","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"String getRepoSenseVersion() {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" String repoSenseVersion \u003d project.property(\"version\")","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" if (repoSenseVersion.equals(\"unspecified\")) {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" repoSenseVersion \u003d versionDetails().commitDistance \u003d\u003d 0 ? versionDetails().lastTag : versionDetails().gitHash","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" return repoSenseVersion","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"def syncFrontendPublic \u003d tasks.register(\u0027syncFrontendPublic\u0027, Sync) {","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" from \u0027reposense-report\u0027","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" into \u0027frontend/public/\u0027","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" include \u0027**/*.json\u0027","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d false","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" preserve {","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" include \u0027index.html\u0027","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" include \u0027favicon.ico\u0027","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" include \u0027title.md\u0027","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"def macHotReloadFrontend \u003d tasks.register(\u0027macHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" onlyIf {os.isMacOsX()}","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"def windowsHotReloadFrontend \u003d tasks.register(\u0027windowsHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" onlyIf {os.isWindows()}","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027,\u0027/c\u0027, \u0027START\u0027, \u0027\"hotreload RepoSense frontend\"\u0027, \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"def linuxHotReloadFrontend \u003d tasks.register(\u0027linuxHotReloadFrontend\u0027, Exec) {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" dependsOn installFrontend","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" onlyIf {os.isLinux()}","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"tasks.register(\u0027hotReloadFrontend\u0027) {","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" dependsOn syncFrontendPublic","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" finalizedBy windowsHotReloadFrontend","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" finalizedBy macHotReloadFrontend","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" finalizedBy linuxHotReloadFrontend","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"// End of hot reload Tasks","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"void deleteReposAddressDirectory() {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" final String REPOS_ADDRESS \u003d \"repos\"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" def reposDirectory \u003d new File(REPOS_ADDRESS)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" reposDirectory.deleteDir()","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"defaultTasks \u0027clean\u0027, \u0027build\u0027, \u0027systemtest\u0027, \u0027frontendTest\u0027, \u0027coverage\u0027","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"sopa301":1,"-":321}},{"path":"config/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2}},{"path":"docs/about.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"About us\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-3\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"RepoSense is a project based in the [National University of Singapore, School of Computing](http://www.comp.nus.edu.sg/), funded by a _Teaching Enhancement Grant_ from the [NUS Center for Development of Teaching and Learning](https://nus.edu.sg/cdtl).","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"## Current team","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"### [Damith C. Rajapakse](http://www.comp.nus.edu.sg/~damithch)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/1673303?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Role**: Project Advisor","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"### [Charisma Kausar](https://www.github.com/ckcherry23)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 December - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"### [David Gareth Ong](https://www.github.com/vvidday)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"### [Gokul Rajiv](https://github.com/gok99)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"### [Marcus Tang Xin Kye](https://www.github.com/MarcusTXK)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"## [Chang Si Kai](https://github.com/sikai00)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2023 Jan - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":"### [Alvis Ng](https://www.github.com/supermii2)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"### [George Tay Quan Yao](https://www.github.com/jonasongg)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":"### [Jonas Ong Si Wei](https://www.github.com/jonasongg)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":"### [Poon Yip Hang, Ryan](https://www.github.com/sopa301)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":"## Past Members","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"### [Wang Chao](https://github.com/fzdy1914)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35621726?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2021 Jan - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"### [Hsu Zhong Jun](https://github.com/dcshzj)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/27919917?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2021 June - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"### [Chan Ger Hean](https://github.com/gerhean)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"### [Huang Chengyu](https://github.com/HCY123902)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"### [Chan Jun Da](https://github.com/chan-j-d)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Apr- 2023 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"### [Tay Yi Hsuen](https://github.com/yhtMinceraft1010X)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"### [Zhou Jiahao](https://github.com/zhoukerrr)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"### [Ma Tanghao](https://github.com/harryggg)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"Main developer for the initial version [2017 May - 2018 May]","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"### [Ong Shu Peng](https://github.com/ongspxm)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"![](https://avatars0.githubusercontent.com/u/1430854?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"**Role**: Area Lead for UI [2018 Dec - 2019 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"### [Tan Jun An](https://github.com/yamidark)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/18352498?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"**Role**: Area Lead for Code Quality [2018 Aug - 2019 April]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"Committer [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"### [Teng Yong Hao](https://github.com/yong24s)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/2003406?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"**Role**:","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"Mentor [2018 Dec - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"### [Peh Xian Bin, Eugene](https://github.com/eugenepeh)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/19277206?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Role**: Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"Project Lead [2018 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"### [Aditya Agarwal](https://github.com/adityaa1998)","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"### [Apoorva Ullas](https://github.com/apoorva17)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"Contributor [2018 Aug - 2019 May]","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"### [Chelsey Ong Hee](https://github.com/chel-seyy)","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"### [Gilbert Emerson](https://github.com/emer7)","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"### [Teo Ming Yi](https://github.com/myteo)","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"### [Jin Minjia](https://github.com/bluein-green)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2019 Aug]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"### [James Pang Mun Wai](https://github.com/jamessspanggg)","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"![](https://avatars1.githubusercontent.com/u/32864116?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Role**: Committer [2020 May - 2021 Jan]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"Contributor [2019 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"### [Lee Jin Yao](https://github.com/jinyao-lee)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35756209?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"### [Chong Chee Yuan](https://github.com/ccyccyccy)","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"### [Ni Tianzhen](https://github.com/niqiukun)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"### [Yash Chowdhary](https://github.com/yash-chowdhary)","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/21968718?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"### [Liu Yiwen](https://github.com/0blivious)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"### [Tejas Bhuwania](https://github.com/Tejas2805)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/35946746?s\u003d150\u0026v\u003d4)\u003cbr/\u003e","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 August]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"### [Anubhav](https://github.com/anubh-v)","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 September - 2020 August]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"### [Ang Ze Yu](https://github.com/ang-zeyu)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2021 May]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"### [Roland Yu Wenyang](https://github.com/rolandyuwy)","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"**Role**: Contributor [2021 January - 2021 March]\u003cbr/\u003e","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":69,"-":169}},{"path":"docs/dg/devOpsGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"DevOps Guide\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"This page documents the various components that form part of the DevOps infrastructure that RepoSense uses.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"## GitHub Actions","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"[GitHub Actions](https://docs.github.com/en/actions) is a platform that is used by RepoSense for running the test suite and is primarily used for continuous integration and testing. The test suite is stored in `.github/workflows/` and comprises of:","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"- Unit tests (in `src/tests/`)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"- System tests (in `src/systemtest/`)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"- Frontend tests (in `frontend/cypress/tests/`)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"### Continuous integration","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"All three types of tests in the test suite are run in a single GitHub Actions workflow called \"Continuous Integration\". The steps are defined in [`integration.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/integration.yml) and are split into two types of jobs:","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"1. Ubuntu/macOS/Windows JDK 11 (`mainbuild`): Runs both unit tests and system tests on JDK 11 running on supported Ubuntu, macOS and Windows versions. For Ubuntu, this job also produces a RepoSense report and the MarkBind documentation website for previewing.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"2. Cypress frontend tests (`cypress`): Runs only the frontend tests on JDK 11 running on Ubuntu.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"The list of supported OS versions are [available on the GitHub Docs website](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources). These jobs should be updated regularly whenever RepoSense supports newer versions of the Java Development Kit (JDK) as well as when new OS versions are made available (via the job OS matrix). Frontend tests are run separately to take advantage of parallel job execution.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"Some of the jobs execute some commands that are too complicated to be included in the workflow configuration files. Such commands are written in the form of a bash script and are located in the [`config/gh-actions`](https://github.com/reposense/RepoSense/tree/master/config/gh-actions) folder.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"This workflow is run for both incoming pull requests to any branch as well as direct commits to any branch in the repository.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"Cypress frontend tests are run against reports generated from config files in `frontend/cypress/config`. It uses the `cypress` branch of the RepoSense repository which is kept independent of `master` and should be updated only when there are new frontend tests that need to be accommodated.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"### Report and documentation previews","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"For each pull request to any branch in the repository, a RepoSense report and the MarkBind documentation website is generated based on the code submitted in the pull request. This is to facilitate pull request reviewers in being able to quickly preview how the RepoSense report and/or the documentation website will change after the pull request is merged.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"Due to [security considerations in preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests), the deployment of the report and documentation previews were split across two workflows in [pull request #1411](https://github.com/reposense/RepoSense/pull/1411):","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Surge.sh pending build (defined in [`pending.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/pending.yml)): Used for gathering information about the pull request and update the pull request checklist to indicate that the previews are pending.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"2. Surge.sh build preview (defined in [`surge.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/surge.yml)): Used for actually deploying the RepoSense report and documentation website to Surge.sh and updating the pull request checklist to link to the preview websites.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"The previews are recognised as GitHub deployments and are named `dashboard-$PRNUMBER` and `docs-$PRNUMBER`, where `$PRNUMBER` is the pull request number. Once a preview is ready, the reviewer would be able to click on \"View deployment\" or \"Show environments\" in the pull request to open the preview websites.","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"Both the \"Surge.sh pending build\" and \"Continuous Integration\" workflows produce an artifact respectively, which is then downloaded by the \"Surge.sh build preview\" workflow to be deployed to Surge.sh. Due to limitations in GitHub Actions in determining the workflow execution order, the \"Surge.sh pending build\" workflow is assumed to have been completed before the \"Continuous Integration\" workflow is completed.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"This task is not performed on commits to the repository, as there is no need to do so.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"After the pull request is closed or merged, the Surge.sh deployments are retained, while the GitHub environments for them are cleared by another workflow \"Clear deployments for closed pull requests\" (defined in [`delete-deploy.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/delete-deploy.yml)). The workflow uses [`delete-deploy.sh`](https://github.com/reposense/RepoSense/blob/master/config/gh-actions/delete-deploy.sh) (found in the `config/gh-actions/` folder) to remove the environments on GitHub, and to leave a comment on the pull request with links to the Surge.sh previews for later reference.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"### GitHub Pages","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"This task builds the MarkBind documentation website on every push to the `master` branch. The steps are defined in [`gh-pages.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/gh-pages.yml).","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"### Stale pull requests","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"This task automates the cleaning up of the pull requests by automatically marking inactive pull requests as stale and subsequently closing them. The steps and configurations are defined in [`stale.yml`](https://github.com/reposense/RepoSense/blob/master/.github/workflows/stale.yml) and the job is triggered automatically once per day.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"## Codecov","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"[Codecov](https://app.codecov.io/gh/reposense/RepoSense) is a platform for checking the code coverage status of the project and the pull request patch. It runs automatically on each pull request and the settings are located in [`codecov.yml`](https://github.com/reposense/RepoSense/blob/master/codecov.yml).","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"## Surge.sh","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"Surge.sh is a platform for hosting the RepoSense report and documentation preview builds. The deployment is automatically performed by the \"Surge.sh build preview\" job using the [`deploy.sh`](https://github.com/reposense/RepoSense/blob/master/config/gh-actions/deploy.sh) script in the `config/gh-actions/` folder.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"For authentication, two secrets are stored and used in GitHub Actions:","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"1. `SURGE_LOGIN` - Holds the email address to use for the Surge.sh account","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"2. `SURGE_TOKEN` - Holds the secret account token generated for the above account (generated using `surge token`)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"The `surge` command automatically detects the existence of these two environment variables and use them for authentication when deploying the RepoSense report and documentation build previews.","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"Currently, deployments are kept forever, even after the pull request is merged or closed. There is currently no existing functionality to automatically clean up deployments after they are no longer useful.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":84}},{"path":"docs/dg/learningBasics.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Learning the Basics\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"This is a learning guide for developers who are new to RepoSense.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"Depending on what you know already and what you would like to work on (i.e., backend or frontend), you may find certain sections irrelevant to you and you can skip them accordingly.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Backend","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the backend of RepoSense. You may skip this section if you want to contribute as a pure frontend developer. Before you get started, you should have set up the project on your computer according to [the _Setting up_ page](settingUp.html).","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"The backend implementation of RepoSense is located in `src/main`.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ step(1) }} **Know Java**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"The RepoSense backend is mostly written in `Java 11`.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"1. You need to have a basic knowledge of Java before getting started, including its syntax, [API](https://docs.oracle.com/javase/11/docs/api/), and certain frameworks such as [JUnit](https://se-education.org/learningresources/contents/java/JUnit.html).","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. Once you are familiar with the basic syntax, you may wish to learn more advanced topics such as [concurrency](https://se-education.org/learningresources/contents/java/JavaConcurrency.html), [synchronization](https://se-education.org/learningresources/contents/java/JavaSynchronization.html), and [streams](https://se-education.org/learningresources/contents/java/streams-an-introduction.html). These topics can help you to understand certain part of the backend implementation (concurrent cloning and analysis of multiple repositories, etc.). They are optional but you may find them useful when working on certain issues.","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense backend architecture**","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"You may want to refer to the [backend architecture](architecture.html) to understand the RepoSense backend implementation logic.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"To gain a more concrete idea of how the backend works, you can use the IDE Debugger and run RepoSense under the debugging mode to trace through the steps of how arguments from command line and CSV files are parsed, how repositories are cloned and analyzed, and how the JSON files are generated.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"The information below is for **Intellij**. If you are using a different IDE, you may need to check the documentation of how to use the debugger separately.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"* Check the [debugging guide](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) if you are not familiar with debugging in **Intelij**.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"* In `RepoSense.java`, the main class, set appropriate break points. Here are some relevant method calls in the `main` method at which you can set the breakpoints:","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * `ArgsParser.parse(args)`: RepoSense parses the CLI arguments from the command given by the user.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" * `getRepoConfigurations(cliArguments)`: RepoSense gets the configuration for each repository by parsing the CSV files.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * `getReportConfigurations(cliArguments)`: RepoSense gets the report configuration (report title) by parsing the JSON files.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * `ReportGenerator.generateReposReport(...)` This is where the bulk of the work is conducted, including cloning repositories, analyzing repositories, and generating the JSON files to be used by the report.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"* To supply debugging arguments, right-click on the run button of `RepoSense.main`, click `Modify Run Configuration`, and add [CLI flags](https://reposense.org/ug/customizingReports.html#customize-using-cli-flags) in `Program arguments`. Examples: `--since 16/12/2021 --until 18/12/2022`; `-s 16/12/2021 -u 18/12/2022`.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"When tracing through the program execution, you can cross reference the architecture diagram and Javadoc of the class and method to check your understanding of the procedure.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense backend. You can do each in a separate branch in your local copy of the code.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Add a flag to pretty-print the JSON file**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" **Task 1: Add a flag to pretty-print the JSON file**","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. [Generate a report locally](../ug/generatingReports.html#generating-reports-locally).","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2. Open a generated JSON file. For example, you can open `summary.json` of the generated report.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" 3. You should see that the content in the JSON is compactly organized in 1 single line. This may affect readability for developer who wants to investigate the content in the JSON file.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" Add a new CLI argument `--use-json-pretty-printing`, such that when a user runs the command `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view --use-json-pretty-printing`, the JSON files `summary.json`, `authorship.json`, and `commits.json` will be printed in a more readable way.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" Try to understand the parsing process of the Command Line Arguments, which starts from `ArgsParser.parse(args)` in `RepoSense.java` and uses `ArgumentParser` to capture the arguments in the command string.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Therefore, the first step you can take is to add the following to `ArgsParser`.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static final String[] JSON_PRINT_MODE_FLAGS \u003d new String[]{\"--use-json-pretty-printing\", \"-j\"};","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" In `getArgumentParser` method, add the following content to make `ArgumentParser` capture the new argument.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" parser.addArgument(JSON_PRINT_MODE_FLAGS)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .dest(JSON_PRINT_MODE_FLAGS[0])","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .help(\"A flag to use json pretty printing when generating the json files.\");","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" After the step in hint 1, the argument is captured by `ArgumentParser`. Now make corresponding changes to `CliArguments.java`, `ConfigCliArguments.java`, and the `parse` method in `ArgsParser.java` to make the return result of `parse` include the new argument.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" 1. Add the following content to `CliArguments` to include `isPrettyPrintingUsed` as a new attribute to the class.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected boolean isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isPrettyPrintingUsed() {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" return isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" 2. In the constructor of `ConfigCliArguments`, add `isPrettyPrintingUsed` as a new parameter of the method, and add the following instruction to the method body.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" this.isPrettyPrintingUsed \u003d isPrettyPrintingUsed;","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" 3. In the `parse` method of `ArgsParser`, add the following instruction to get `isJsonPrettyPrintingUsed` from `ArgmentParser`.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" boolean isJsonPrettyPrintingUsed \u003d results.get(JSON_PRINT_MODE_FLAGS[0]);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" 4. Additionally, change the return statement of the `parse` method so that the `ConfigCliArguments` object returned will now include `isJsonPrettyPrintingUsed`.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" After the steps in hint 1 and hint 2, the result returned from `ArgsParser.parse(args)` in `RepoSense.java` should be able to capture the new argument when it is specified in the command.","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" The next step is to extract the argument from the `CliArguments` object, and pass it to JSON file writer to notify it of the specified printing mode.","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" Note that the creation and writing of JSON file is invoked in `ReportGenerator.generateReposReport`, which calls `FileUtil.writeJsonFile` directly to write the `summary.json` file or indirectly (Check `generateIndividualRepoReport` and `generateEmptyRepoReport`) to write the `commits.json` or `authorship.json` files of individual repositories.","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" Therefore, the task now is to make `FileUtil.writeJsonFile` switch between different printing mode.","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" 1. You can find out what [`Gson.setPrettyPrinting`](https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.5/com/google/gson/GsonBuilder.html#setPrettyPrinting--) does and how it can be used in the `writeJsonFile` method of [`FileUtil.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/util/FileUtil.java).","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" 2. Add the following content to `FileUtil`.","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" private static boolean isPrettyPrintingUsed \u003d false;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" 3. In the `writeJsonFile` method, Replace the creation of the `Gson` object with the following instructions.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" GsonBuilder gsonBuilder \u003d new GsonBuilder()","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .registerTypeAdapter(LocalDateTime.class, (JsonSerializer\u003cLocalDateTime\u003e) (date, typeOfSrc, context)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" -\u003e new JsonPrimitive(date.format(DateTimeFormatter.ofPattern(GITHUB_API_DATE_FORMAT))))","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .registerTypeAdapter(FileType.class, new FileType.FileTypeSerializer());","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" Gson gson;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (isPrettyPrintingUsed) {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.setPrettyPrinting().create();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.create();","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" 4. To notify `FileUtil` of the switch between different printing mode, add the following method to `FileUtil`.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static void setPrettyPrintingMode(boolean isPrettyPrintingAdopted) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" isPrettyPrintingUsed \u003d isPrettyPrintingAdopted;","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" 5. It is now possible to notify `FileUtil` of the printing mode switch by extracting the argument from the `CliArguments` object in the `main` method of `RepoSense.java` and passing it to the corresponding method in `FileUtil`.","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.setPrettyPrintingMode(cliArguments.isPrettyPrintingUsed());","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Now the parsing of argument and changing of printing mode should have been completed.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. By combining the changes in hint 1, hint 2, and hint 3, you should be able to get a possible solution.","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Try the command `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view --use-json-pretty-printing` and check the generated JSON files to see if it works.","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add exception message during repository cloning to the summary view**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" **Task 2: Add exception message during repository cloning to the summary view**","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" 2. You should see that there is a red panel in the summary view containing the following message, indicating that there is an issue in the cloning process of the repository `reposense/testrepo-Empty`.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" reposense/testrepo-Empty[master]","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" Failed to clone from https://github.com/reposense/testrepo-Empty.git","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" **Your task**","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" For the repository with the message `Failed to clone from ...`, find out what exception causes this cloning error, and add that exception message to the panel as well.","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" You can find out what [`ErrorSummary.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ErrorSummary.java) and [`RepoCloner.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/RepoCloner.java) do, and where they are used.","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" Try to understand the cloning process.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" * The cloning process is invoked by [`RepoGenerator.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ReportGenerator.java) in the `cloneAndAnalyzeRepos` method, which subsequently calls `cloneBare` in `RepoCloner.java` to start the cloning.","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" * The `cloneAndAnalyzeRepos` method will then call `getRepoLocation` in `RepoCloner.java` to try to get the repository location.","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Beneath the surface, `RepoCloner` will first execute `spawnCloneProcess` and then execute `waitForCloneProcess` when it is invoked by `RepoGenerator` for the first and second time respectively.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" In `RepoCloner`, the potential exceptions in `spawnCloneProcess` and `waitForCloneProcess` are caught but not recorded by `ErrorSummary`.","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" Add this to the catch block of `spawnCloneProcess` and `waitForCloneProcess`, so that the message will be captured in `summary.json`.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" ```java","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), e.getMessage());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html).","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"## Frontend","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the frontend of RepoSense. You may skip this section if you want to contribute as a pure backend developer.","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"The frontend implementation of RepoSense is located in `frontend/src`.","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"{{ step(1) }} **Learn the necessary tools**","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"It is necessary for you to learn the basics of Vue.js, Pug, and SCSS before working on the project.","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"### Vue.js","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"Vue.js uses JavaScript as its programming language. Before learning **Vue.js**, you may need to first get yourself familiar with JavaScript syntax first.","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":"You can refer to the [Javascript documentation](https://devdocs.io/javascript/) to learn the basic syntax. There are plenty of other resources available and please feel free to find the resource most suitable for you.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"RepoSense uses **Vue.js** (Vue3) in its front-end implementation. In particular, major user interface components, such as [summary view](report.html#summary-view-v-summary-js), [authorship view](report.html#authorship-view-v-authorship-js), and [zoom view](report.html#zoom-view-v-zoom-js), are implemented as Vue components. The corresponding source files are in `frontend/src`.","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"* If you are new to Vue.js, you may want to start learning by looking at [the beginner tutorial](https://www.vuemastery.com/courses/intro-to-vue-js/).","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"* You can dive deeper later by checking the [Vue.js documentation](https://vuejs.org/guide/introduction.html) to learn about essential concepts such as component life cycle hooks, and component properties.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"* It is recommended if you can work on some small projects first to gain more solid understanding of Vue.js.","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"The guide above uses HTML as the component template, which is not the case with RepoSense. You may wish to learn more about [Pug](#pug) and its connection with HTML.","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"#### Vuex","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":"RepoSense uses **Vuex** for the state management of the Vue components.","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"* You can check the [Vuex guide](https://vuex.vuejs.org/guide/#the-simplest-store) to find out how Vuex can be used in a Vue project.","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"* There is also a [course](https://vueschool.io/courses/vuex-for-everyone) available that will walk you through an example of creating Vue application with Vuex.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"### Pug","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"RepoSense uses Pug files as the template of each Vue component. The corresponding HTML templates will later be generated from the Pug files by [spuild](https://github.com/ongspxm/spuild2) when generating the report.","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"Since Pug is used to generate the HTML template, it is recommended that you have a basic knowledge of HTML before starting to learn Pug. Once you understand how HTML works, you can proceed to focus on how Pug is translated into HTML.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"* You can refer to the [official documentation](https://pugjs.org/api/getting-started.html) or [this tutorial](https://www.youtube.com/watch?v\u003dkt3cEjjkCZA) to learn about the syntax of pug and how it is translated into HTML.","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"* To get a hands-on experience, here is a [Pug to HTML converter](https://pughtml.com/). Feel free to try out a couple of examples on your own.","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"### Scss","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":"SCSS is used for styling the Pug template. The corresponding CSS will later be generated from the SCSS files by [spuild](https://github.com/ongspxm/spuild2) when generating the report. The corresponding source files are in `frontend/src/styles`.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"It is recommended that you have a basic knowledge of CSS before starting to learn SCSS. Once you understand how CSS works, you can proceed to focus on how SCSS is translated into CSS.","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":"* You can refer to the [style rules](https://sass-lang.com/documentation/style-rules) to learn about the similarities and differences between SCSS and CSS.","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense frontend architecture**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":"* You may want to refer to the [frontend architecture](report.html#report-architecture) to understand the implementation.","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"* Another way for you to understand the frontend is to use **Vue.js devtools** to learn how the various Vue Components interact with each other. You can refer to the [frontend debugging guide](workflow.html#debugging-front-end) for more information.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense frontend. You can do each in a separate branch in your local copy of the code.","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Highlight the selected author name in the summary view**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" **Task 1: Highlight the selected author name in the summary view**","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`).","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" 3. You should see that, after you open the panel, the author title background on the chart panel becomes yellow, and the background of the `\u003c/\u003e` icon you clicked becomes green.","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" Make corresponding changes to `summary charts` so that in step 3, after opening the panel, the font colour of the author title (in the form of `authorDisplayName(authorName)`) on the chart panel also becomes green.","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Try to locate where the author title is in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" You can check what `activeUser` and `activeRepo` do in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" Refer to how changes are made to the title background and icon background in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue).","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 4\"\u003e","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" Some of the CSS styling for `c-summary-charts.vue` is in [`style.scss`](https://github.com/reposense/RepoSense/blob/master/frontend/src/styles/style.scss). You can add corresponding class selector if necessary.","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" Add this to `c_summary.scss`.","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" ```css","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" .active-text {","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" color: mui-color(\u0027green\u0027);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" In `c-summary-charts.vue`, locate `summary-chart__title--name`, and add the following to its `v-bind:class` attribute map.","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" \u0027active-text\u0027: user.name \u003d\u003d\u003d activeUser \u0026\u0026 user.repoName \u003d\u003d\u003d activeRepo","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add tooltip for file path in authorship panel**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" **Task 2: Add tooltip for file path in authorship panel**","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`).","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" 3. Select a random file in the authorship contribution panel, and hover your mouse on an icon on the file title, a corresponding tooltip will show up, suggesting what the purpose of the icon is. However, when you hover the mouse over the file path on the file title, there is no tool tip shown, even if clicking the path itself will also trigger some event.","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" For example, if you open the authorship contribution panel of an author in `reposense/RepoSense[master]` and hover the mouse over the triangular icon beside the file path `src/main/java/reposense/model/Author.java`, you should see a tooltip saying `Click to hide file details` above the icon. However, when you hover the mouse over the file path `src/main/java/reposense/model/Author.java`, there is no corresponding tooltip shown.","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" Make corresponding `authorship contribution panel` so that in step 3, when hovering your mouse over the file path:","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to hide file details` will show up when the file details are shown","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to show file details` will show up when the file details are not shown.","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" Try to locate where the file title and the file path are in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue).","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" You can check how tooltip is added for the triangular icon in the file title in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue).","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" You can check what `file.active` does and how it is used to switch between different tooltip messages when hovering the mouse on the corresponding icon.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" 1. In `c-authorship.vue`, locate the section that iterates through each file in `selectedFiles`.","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" 2. There is a specific portion of the section that renders the toggle icon, the file index, and the file path of the file title.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" 3. Try to locate the `span` tag that renders `file.path`, and wraps it inside a new `tooptip`.","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, use the following instructions to handle the switch of tooltip message.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"file.active\") This is the file path. Click to hide file details","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"!file.active\") This is the file path. Click to show file details","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 3: Add tooltip for commit message title in zoom panel**\" type\u003d\"primary\"\u003e","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" **Task 3: Add tooltip for commit message title in zoom panel**","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/).","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" 2. Randomly open the commits panel of an author.","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" 3. Select a random commit in the commits panel, and hover your mouse on the icons on the commit title, there is no tooltip shown saying that it will redirect you to a different site.","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" For example, given the [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/?search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dfalse\u0026tabOpen\u003dtrue\u0026tabType\u003dzoom\u0026zA\u003deugenepeh\u0026zR\u003dreposense%2FRepoSense%5Bmaster%5D\u0026zACS\u003d99.28792569659443\u0026zS\u003d2017-10-09\u0026zFS\u003d\u0026zU\u003d2021-04-04\u0026zMG\u003dundefined\u0026zFTF\u003dcommit\u0026zFGS\u003dgroupByRepos\u0026zFR\u003dfalse), if you hover the mouse over the commit title `README: add acknowledgements section (#978)`, there is no corresponding tooltip shown, but when you click on the commit title, you will be redirected to a different site to see the commit details.","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" **Your Task**","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" Make corresponding changes to `zoom panel` so that in step 3, when hovering your mouse over the commit title, a tooltip saying `Click to view the detailed file changes in the commit` will show up on the commit title.","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" Try to locate where the commit title is in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue).","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" You can check how tooltip is added for other icons in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue).","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" Check what `selectedCommits` does and how the link and commit title of each commit is retrieved.","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" 1. In `c-zoom.vue`, locate the section that iterates through each `day` in `selectedCommits`.","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" 2. The component that helps render the commit message title should be an `a` tag which uses the `getSliceLink` method to set the link to the commit details and uses `slice.messageTitle` to show the commit message title.","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" 3. Wrap the `a` tag in a new `tooltip`.","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, add the following content to show the tooltip message.","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" span.tooltip-text Click to view the detailed file changes in the commit","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" ```","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" \u003c/panel\u003e","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":"\u003c/panel\u003e","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request.","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html).","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":"## DevOps","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"supermii2"},"content":"If you want to understand and contribute to the DevOps aspect of RepoSense, you can refer to the [DevOps guide](devOpsGuide.html) for more information.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":13,"supermii2":1,"-":474}},{"path":"docs/dg/projectManagement.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Project management\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"This page contains information about project management tasks. The target audience is senior developers (and above).","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"## Merging PRs","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **Use the \u0027squash and merge\u0027 option** unless the situation warrants a different option.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **For the merge commit**, follow conventions at [_GitHub conventions_ @SE-EDU](https://se-education.org/guides/conventions/github.html).","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"## Making a release on GitHub","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"Before making a release, please check the following prerequisites:","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"* Ensure that you have **JDK `11`** installed (\u003d\u003dNot other major release versions such as **JDK `12`** or **JDK `13`**\u003d\u003d).","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"* Ensure that the `JAVA_HOME` environment variable is correctly set to your JDK installation directory. You can refer to the [JDK Installation Guide](https://docs.oracle.com/cd/E19182-01/821-0917/inst_jdk_javahome_t/index.html).","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"* Ensure that you have merged the [upstream](https://github.com/RepoSense/reposense) `master` branch into both the local and upstream `release` branch according to the following steps:","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" 1. In your local repository, reset your `master` branch to be exactly the same as the upstream `master` branch.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" 1. Switch to the local `release` branch, and merge the `master` branch into it with `git merge master --no-ff` (no fast forward to keep the commit history for releases).","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" 1. Push the local `release` branch directly to the [upstream `release` branch](https://github.com/reposense/RepoSense/tree/release) (make sure you have the push access).","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"To make a release for RepoSense on GitHub, please follow the `Creating a release` section in the [GitHub Docs](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository).\u003cbr\u003e","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"Take note of the following when making the release according to the above guide:","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"* When entering a release version number, use semantic versioning with some small tweaks:","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Use `MAJOR.MINOR` as the version number when the release includes new features and/or major changes.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Use `MAJOR.MINOR.PATCH` as the version number when the release only includes bug fixes and/or minor changes.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Append `rc` to the version number to indicate that the release is a pre-release that is not ready to be used in production.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"* Enter the release title as `RepoSense vxxx` where `xxx` is the version number. Enter the release description by referring to the previous [RepoSense releases](https://github.com/reposense/RepoSense/releases).","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"* Before launching the release, generate the `RepoSense.jar` file and attach it to the release.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" 1. Switch to the `release` branch.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" 1. In the terminal, change the directory to the project root directory.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" 1. Run `gradlew --version` to check that the JDK version is 11.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" 1. Run `gradlew shadowJar`, and the Jar file will be generated at `{buildDir}/jar/`.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" 1. Check that the Jar file is working. You may need to check that the report can be generated from the Jar file both locally and remotely by following the [Generating Reports Guide](../ug/generatingReports.html).","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"After making the release, please also remember to deploy the production website using the [deploy guide](#deploying-the-production-website).","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Deploying the production website","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"We have two versions of the website:","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"1. **Production website** at https://reposense.org","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * matches the latest released version","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * deployed manually after each new release","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. **Dev website** at https://reposense.org/RepoSense","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * matches the latest `master` branch","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * deployed automatically by Travis whenever the `master` branch is updated","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"The production website differs from the dev website in some ways, e.g.,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"* It has a `CNAME` file (to indicate that it is the target destination for the `reposense.org` domain name)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Its DG pages show a warning that it is not the latest version of the DG.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"MarkBind mainly manages these variations via the `site.config` file. That is why the `site.config` file in the `release` branch is slightly different from the one in the `master` branch.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"After each release, do the following steps to deploy the production website:","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"1. Switch to the `release` branch","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"1. `cd docs`","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"1. `markbind build`","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"1. `markbind deploy` (make sure you have the push access to https://github.com/reposense/reposense.github.io)","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"1. After a few minutes, check https://reposense.org to ensure it has been updated as intended.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"## Hot patching after the release","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"If critical bugs are found in the release, take the following steps to hot patch it:","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"1. Switch to the `release` branch.","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"1. Implement the fixes, commit them, and create a pull request from your forked `release` branch to the upstream `release` branch.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"1. After merging, release a new version of RepoSense with the `release` branch according to the above guide.","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"1. Merge the `release` branch back into the `master` branch by creating a separate pull request.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":85}},{"path":"docs/dg/settingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Setting up\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"**Prerequisites:**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"* **JDK `11.0.21+9`** up to **`17`** ([download :fas-download:](https://www.oracle.com/technetwork/java/javase/downloads/index.html)).","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":"* **Node.js** **`18`** up to the latest minor version of **`19`** ([download :fas-download:](https://www.npmjs.com/get-npm)).","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"* **git `2.23`** or later ([download :fas-download:](https://git-scm.com/downloads)).","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" Type `java -version`, `node -v` and `git --version` respectively on your OS terminal and ensure that you have the correct version of each prerequisite installed.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/box\u003e","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Getting the code","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. **Fork** the [reposense/reposense](https://github.com/reposense/RepoSense) repo.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"1. **Clone** the fork to your computer.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Setting up the IDE","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"The recommended IDE is **Intellij IDEA**. While it is not compulsory to use it, note that we will not be able to help you troubleshoot IDE problems if you use any other IDE.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Ensure you have configured IDEA for the correct JDK**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijJdk.html).","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. **Import the project as a Gradle project**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijImportGradleProject.html).","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"## Verifying the setup","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"This project is already configured to use Gradle for build automation. If you are new to Gradle, see [this tutorial](https://se-education.org/guides/tutorials/gradle.html) to learn how to use it.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Open a command prompt and navigate to the project root.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Run `gradlew clean build` (`./gradlew clean build` if you on a Unix-like OS), and ensure that it finishes with a `BUILD SUCCESSFUL` message.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"1. Run the tests using the `gradlew test systemtest` command and ensure it succeeds too.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"1. You can also try running the app using code, as given in the panel below.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"{{ embed(\u0027Developer guide → **Workflow → Running the app from code**\u0027, \u0027workflow.md#section-running-from-code\u0027, level\u003d2) }}","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Before you start coding","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"... read the [Workflow](workflow.html) section.","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"supermii2":1,"sopa301":1,"-":53}},{"path":"docs/dg/styleGuides.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Style guides\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"Our coding standards are mostly based on those at [se-education.org/guides](https://se-education.org/guides).","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [**CSS** coding standard](https://se-education.org/guides/conventions/css.html)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"* [**Files/folders** naming conventions](https://se-education.org/guides/conventions/files.html)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"* [**HTML** coding standard](https://se-education.org/guides/conventions/html.html)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Markdown/MarkBind** coding standard](https://se-education.org/guides/conventions/markdown.html)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"* [**Java** coding standard](https://se-education.org/guides/conventions/java/index.html)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [**JavaScript** coding standard](https://se-education.org/guides/conventions/javascript.html)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **TypeScript**: In addition to the JavaScript coding standard, follow the [**recommended ESLint rules**](https://typescript-eslint.io/rules/) and the formatting rules [described below](#typescript-specific-formatting).","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Vue Components**: Follow the [**Vue style guide**](https://vuejs.org/style-guide/), up to the **Recommended** section.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"* **Documentation**: Follow the [**Google developer documentation style guide**](https://developers.google.com/style).","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Note on Ternary Operators:","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"Ternary operators can be used to shorten if-else blocks such as this:","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"LocalDateTime min \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if (!commitInfos.isEmpty()) {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" min \u003d commitInfos.get(0).getTime();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"return min;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"The result would look something like this:","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"return (commitInfos.isEmpty())","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" ? ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" : commitInfos.get(0).getTime();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"To preserve readability, it is recommended that if-else blocks should only be","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"converted to ternary operators if the resultant code can be kept at most 3 lines long","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"(in accordance to the coding standard).","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"## Additional Javadoc requirements:","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"In addition to what has been mentioned in the [**Java** coding standard (SE-EDU)](https://se-education.org/guides/conventions/java/index.html) and [**Google Java Style Guide**](https://google.github.io/styleguide/javaguide.html), we also stipulate the following standards for Javadoc:","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"* If Javadoc is written for a method, all input parameters should be described in the Javadoc, either in the description with `@code tags` or through `@param` block tags.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * If `@param` block tags are used, they must be used for all parameters.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * This is not necessary (although still recommended) for methods with `@Override` annotations if Javadoc is used. However, if the method that is being overriden is part of your code and has Javadoc, all parameters must be described.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (Only mentions zoneId parameter):","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object adjusted for timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (@param tag used only for zoneId)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"Positive Example #1:","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (No @param tags):","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"Positive Example #2:","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (@param tags used for all inputs):","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @param sinceDate The date prior to the timezone conversion.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" //Code here","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Within the main code, if an exception is thrown in a method (both header and body) for which Javadoc is written, a `@throws` tag must be used to describe how the exception is likely to arise.","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * This requirement does not apply to test code.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * One `@throws` tag per unique exception.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * The order of exceptions in the `@throws` tag block should match that of the method\u0027s `throws` statement.","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"```java","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (order of exceptions in tag block and method signature do not match):","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" // Code here","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"// Should be:","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Code here","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"## TypeScript specific formatting","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"For TypeScript specific code, such as within an `interface` or type annotations, we also stipulate the following standards:","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Use semicolons as delimiters for TypeScript interfaces and types.","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"// missing semicolon delimiter","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" name: string","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" greet(): string","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"// using incorrect delimiter","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" name: string,","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" greet(): string,","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"Positive Example:","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"// semicolon delimiter","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"interface Foo {","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" name: string;","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" greet(): string;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"* For type annotations, use a space after but not before.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"Negative Examples:","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"let foo:string \u003d \"bar\";","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"let foo :string \u003d \"bar\";","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"let foo : string \u003d \"bar\";","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"function foo():string {}","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"function foo() :string {}","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"function foo() : string {}","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" name:string;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" name :string;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" name : string;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"Positive Examples:","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"```typescript","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"let foo: string \u003d \"bar\";","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"function foo(): string {}","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"class Foo {","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" name: string;","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"```","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12,"-":174}},{"path":"docs/ug/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense/tree/cypress","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Cypress branch of RepoSense","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/publish-RepoSense/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Publishing branch of RepoSense","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5}},{"path":"docs/ug/cli.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: CLI syntax reference\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"The command `java -jar RepoSense.jar` takes several flags.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cbox\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Examples**:","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"An example of a command using most parameters:\u003cbr\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --output ./report_folder --since 31/1/2017 --until 31/12/2018 --formats java adoc xml --view --ignore-standalone-config --last-modified-date --timezone UTC+08 --find-previous-authors --analyze-authorship --originality-threshold 0.66`","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"Same command as above but using most parameters in alias format:\u003cbr\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar -r https://github.com/reposense/RepoSense.git -o ./report_folder -s 31/1/2017 -u 31/12/2018 -f java adoc xml -v -i -l -t UTC+08 -F -A -ot 0.66`","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"The section below provides explanations for each of the flags.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"### `--analyze-authorship`, `-A`","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`--analyze-authorship`**: Performs further analysis to distinguish between partial and full credit attribution for","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"lines of code assigned to the author.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"* Default: this feature is turned ***off*** by default and the author will receive partial credits for all lines of","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" code, as the code lines are at least partial credit but may not qualify for full credit.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"* Alias: `-A` (upper case)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"* Example: `--analyze-authorship` or `-A`","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"A darker background colour represents full credit, while a lighter background colour represents partial credit.","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"If the code is attributed to a different author by the user via `@@author` tag, then the new author will be given","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"partial credit.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"### `--assets`, `-a`","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-assets\"\u003e","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"**`--assets ASSETS_DIRECTORY`**: Specifies where to place assets for report generation.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":"* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard, while a `title.md` file can be placed to customize the [title](https://reposense.org/ug/customizingReports.html#add-a-title) of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/).","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"* Alias: `-a`","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"* Example: `--assets ./assets` or `-a ./assets`","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"* If `--assets` is not specified, RepoSense looks for assets in the `./assets` directory.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"### `--config`, `-c`","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-config\"\u003e","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"**`--config CONFIG_DIRECTORY`**: Specifies that config files located in `CONFIG_DIRECTORY` should be used to customize the report.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":"* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `report-config.json` file or/and a `blurbs.md` file.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"* Alias: `-c`","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --config ./config`","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"* Cannot be used with `--repos`. The `--repos` flag will take precedence over this flag.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"* If both `--repos` and `--config` are not specified, RepoSense looks for config files in the `./config` directory.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"* Config files must follow [this](./configFiles.html) format.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"### `--formats`, `-f`","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"**`--formats LIST_OF_FORMATS`**: Specifies which file extensions to be included in the analysis.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"* Parameter: `LIST_OF_FORMATS` A space-separated list of file extensions that should be included in the analysis.\u003cbr\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" Default: all file formats","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"* Alias: `-f`","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"* Example:`--formats css fxml gradle` or `-f css fxml gradle`","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"Binary file formats, such as `jpg`, `png`,`exe`,`zip`, `rar`, `docx`, and `pptx`, all will be labelled as the file type `binary` in the generated report.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"### `--find-previous-authors`, `-F`","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"**`--find-previous-authors`**: Utilizes Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available).","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"* Default: RepoSense will assume that no authors are responsible for the code changes in the lines altered by commits in the ignore commit list.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"* Alias: `-F` (uppercase F)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"* Example:`--find-previous-authors` or `-F`","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"### `--help`, `-h`","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"**`--help`**: Shows the help message.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"* Alias: `-h`","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"### `--ignore-standalone-config`, `-i`","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"**`--ignore-standalone-config`**: Specifies that the standalone config file in the repo should be ignored.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"* Default: the standalone config file is not ignored","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"* Alias: `-i`","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"* Example:`--ignore-standalone-config` or `-i`","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore standalone config` field in the CSV config file.","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"### `--ignore-filesize-limit`, `-I`","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"**`--ignore-filesize-limit`**: Specifies that the file size limit (both default and user-defined) should be ignored during the analysis.","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"* Default: the file size limit is not ignored","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"* Alias: `-I`","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"* Example:`--ignore-filesize-limit` or `-I`","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"All files are subject to a default file size limit or a custom size limit set by the user. Most files should not be","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"affected by the default size limit. This flag can be useful for including files in your report that are affected by","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"the size limit. Note that this flag may result in large report sizes and/or slower report generation.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore file size limit` field in the CSV config file.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"### `--last-modified-date`, `-l`","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"**`--last-modified-date`**: Specifies that the last modified date of each line of code should be added to `authorship.json`.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"* Default: the last modified date of each line of code will not be added to `authorship.json`","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"* Alias: `-l` (lowercase L)","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"* Example:`--last-modified-date` or `-l`","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* Cannot be used with `--shallow-cloning`. This may result in an incorrect last modified date.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* The last modified dates will be in the same timezone specified with the `--timezone` flag.","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"### `--originality-threshold`, `-ot`","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"**`--originality-threshold [VALUE]`**: Specifies the cut-off point for partial and full credit","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"in `--analyze-authorship`. Author will be given full credit if their contribution exceeds this threshold, else partial","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"credit is given.","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"* Parameter: `VALUE` Optional. Acceptable range: [0.0, 1.0].\u003cbr\u003e","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" Default: `0.51`","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"* Alias: `-ot`","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"* Example: `--originality-threshold 0.66` or `-ot 0.66`","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"* Requires `--analyze-authorship` flag.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"* An author\u0027s contribution, or `originality score`, is calculated using Levenshtein Distance (Edit Distance) algorithm.","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" We compare the difference between current code line and its previous versions.","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"### `--output`, `-o`","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"**`--output OUTPUT_DIRECTORY`**: Indicates where to save the report generated.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"* Parameter: `OUTPUT_DIRECTORY` The location for the generated `reposense-report` folder.\u003cbr\u003e","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" Default: current directory","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"* Alias: `-o`","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"* Example: `--output ./foo` or `-o ./foo` (the report will be in the `./foo/reposense-report` folder)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"### `--period`, `-p`","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"**`--period PERIOD`**: Specifies the period of analysis window.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"* Parameter: `PERIOD` The period of analysis window, in the format `nd` (for n days) or `nw` (for n weeks). It is used to calculate end date if only start date is specified, or calculate end date if only start date is specified.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"* Alias: `-p`","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"* Example: `--period 30d` or `--period 4w`","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"* If both start date and end date are not specified, the date of generating the report will be taken as the end date.","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"* May analyze the incorrect date range if used with `--since d1`. The program will throw a warning.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"* Cannot be used with both `--since` and `--until`. The program will throw an exception.","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"### `--repo`, `--repos`, `-r`","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"**`--repo REPO_LOCATION`**: Specifies which repositories to analyze.","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"* Parameter: `REPO_LOCATION` A list of URLs or the disk location of the git repositories to analyze, separated by spaces.","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"* Alias: `-r`","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"* Examples:","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" * `--repos https://github.com/reposense/RepoSense.git`","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" * `--repo https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar`: analyzes the two specified repos (one remote, one local) and generates one report containing details of both.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"Cannot be used with `--config`. This flag takes precedence over `--config`.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"### `--shallow-cloning`, `-S`","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"**`--shallow-cloning`**: Clones repositories using Git\u0027s shallow cloning functionality, which can significantly reduce the time taken to clone large repositories. However, the flag should not be used for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead.","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"* Default: RepoSense does not clone repositories using Git\u0027s shallow cloning functionality.","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":"* Alias: `-S` (uppercase S)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"* Example:`--shallow-cloning` or `-S`","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"Cannot be used with `--last-modified-date`. This may result in an incorrect last modified date.","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"### `--since`, `-s`","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"**`--since START_DATE`**: Specifies the start date for the period to be analyzed.","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"* Parameter: `START_DATE` The first day of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Default: one month before the current date","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"* Alias: `-s`","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"* Example:`--since 21/10/2017` or `-s 21/10/2017`","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"* If the start date is not specified, only commits made one month before the end date (if specified) or the date of generating the report, will be captured and analyzed.","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"* If `d1` is specified as the start date (`--since d1` or `-s d1`), then the program will search for the earliest commit date of all repositories and use that as the start date.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":"* If `d1` is specified together with `--period`, then the program will warn that the date range being analyzed may be incorrect.","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"### `--timezone`, `-t`","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"**`--timezone ZONE_ID`**: Indicates the timezone to be used for the analysis.","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"* Parameter: `ZONE_ID` The timezone in the format `ZONE_ID[±hh[mm]]`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" Default: system\u0027s default timezone","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"* Alias: `-t`","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":"* Example:`--timezone UTC+08` or `-t UTC-1030`","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"### `--until`, `-u`","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"**`--until END_DATE`**: Specifies the end date of the analysis period.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"* Parameter: `END_DATE` The last date of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Default: current date","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"* Alias: `-u`","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":"* Example:`--until 21/10/2017` or `-u 21/10/2017`","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"Note: If the end date is not specified, the date of generating the report will be taken as the end date.","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"### `--version`, `-V`","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"**`--version`**: Shows the version of RepoSense.","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"* Alias: `-V` (upper case)","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags other than `--help`.","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"### `--view`, `-v`","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"**`--view [REPORT_FOLDER]`**: Specifies that the report should be opened in the default browser.","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"* Parameter: `REPORT_FOLDER` Optional. If specified, no analysis will be performed and the report specified by the argument will be opened.\u003cbr\u003e","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Default: `./reposense-report`","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"* Alias: `-v`","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"* Example:`--view` or `-v`","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"sopa301":1,"-":300}},{"path":"docs/ug/configFiles.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Config files format\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% set mandatory %}\u003cspan class\u003d\"badge bg-danger\"\u003emandatory\u003c/span\u003e{% endset %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"Given below are the details of the various config files used by RepoSense.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"**RepoSense ignores the order of column headers in the CSV config files. However, the spelling of the column headers must match the specified headers exactly, or the column would be ignored by RepoSense.**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"**A value in a config file is optional to provide unless it is specified as {{ mandatory }}**.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"## `repo-config.csv`","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`repo-config.csv` file contains repo-level config data.** Each row represents a repository\u0027s configuration ([example](repo-config.csv)).","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"|-------------|-------------|","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"| Repository\u0027s Location {{ mandatory }} | The `Remote Repo URL` or `Disk Path` to the git repository e.g., `https://github.com/foo/bar.git` or `C:\\Users\\user\\Desktop\\GitHub\\foo\\bar` |","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze in the target repository e.g., `master`. Default: the default branch of the repo |","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"| File formats\u003csup\u003e*+\u003c/sup\u003e | The file extensions to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats |","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"| Find Previous Authors | Enter **`yes`** to utilize Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available). |","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*+\u003c/sup\u003e | The list of file path globs to ignore during analysis for each author e.g., `test/**;temp/**`. Refer to the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob) for the path glob syntax. |","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"| Ignore standalone config | To ignore the standalone config file (if any) in target repository, enter **`yes`**. If the cell is empty, the standalone config file in the repo (if any) will take precedence over configurations provided in the csv files. |","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"| Ignore Commits List\u003csup\u003e*+\u003c/sup\u003e | The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive). |","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"| Ignore Authors List\u003csup\u003e*+\u003c/sup\u003e | The list of authors to ignore during analysis. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name). |","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"| Shallow Cloning | Enter **`yes`** to clone the repository using Git\u0027s shallow cloning functionality. This option can significantly reduce the time taken to clone large repositories. However, the option should ideally be disabled for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead. |","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"| File Size Limit\u003csup\u003e+\u003c/sup\u003e | Enter a file size limit for the repository in bytes as a single number without units (for a size limit of 1MB for example, enter 1000000). This file size limit will override the default file size limit (500KB). Files exceeding the file size limit will be marked as ignored and only the file name and line count will be reflected in the report. |","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"| Ignore File Size Limit | Enter **`yes`** to ignore both the default file size limit and the file size limit possibly set by the user in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"| Skip Ignored File Analysis | Enter **`yes`** to ignore analysis of files exceeding the file size limit entirely. If file analysis is skipped, all information about the file will be omitted from the generated report. This option can significantly improve report generation time. |","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"The Shallow Cloning option is incompatible with the \"--last-modified-date\" CLI flag.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"If Ignore File Size Limit is yes, the File Size Limit and Skip Ignored File Analysis columns are ignored.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e\u003c/br\u003e","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003csup\u003e+ **Overrideable column**: prepend with `override:` to use entered value(s) instead of value(s) from standalone config.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"When using [standalone config](#config-json-standalone-config-file) (if it is not ignored), it is possible to override specific values from the standalone config by prepending the entered value with `override:`.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"## `author-config.csv`","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"Optionally, you can use an `author-config.csv` (which should be in the same directory as the `repo-config.csv` file) to provide more details about the authors to analyze ([example](author-config.csv)). It should contain the following columns:","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"| Repository\u0027s Location\u003csup\u003e*\u003c/sup\u003e | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze for this author, e.g., `master`. Default: the author will be bound to all the repos in `repo-config.csv` that has the same repo\u0027s location, regardless of branch. |","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"| Author\u0027s Git Host ID\u003csup\u003e#\u003c/sup\u003e {{ mandatory }} | Username of the target author\u0027s profile on GitHub, GitLab or Bitbucket, e.g.`JohnDoe`. |","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"| Author\u0027s Emails\u003csup\u003e*\u003c/sup\u003e | Associated emails of the author. For GitHub users, this can be found in your [GitHub settings](https://github.com/settings/emails). |","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"| Author\u0027s Display Name | The name to display for the author. Default: author\u0027s username. |","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"| Author\u0027s Git Author Name\u003csup\u003e*\u003c/sup\u003e | The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name). |","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*\u003c/sup\u003e | Files to ignore for this author, in addition to files ignored by the patterns specified in `repo-config.csv`. The path glob syntax is the same as that of Ignore Glob List in `repo-config.csv`. |","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/br\u003e","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003csup\u003e# For backward compatibility, `Author\u0027s GitHub ID` is still accepted as the header in place of `Author\u0027s Git Host ID`.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"If `author-config.csv` is not given and the repo has not provided author details in a standalone config file, all the authors of the repositories within the date range specified (if any) will be analyzed.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"`author-config.csv` has some advanced syntax that can help to reduce duplication of the author\u0027s information. The syntax guide is given below:","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: `author-config.csv` advanced syntax\", \"authorConfigSyntax.md\") }}","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"## `group-config.csv`","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"Optionally, you can provide a `group-config.csv`(which should be in the same directory as `repo-config.csv` file) to provide details on any custom groupings for files in specified repositories ([example](group-config.csv)). It should contain the following columns:","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"| Column Name | Explanation |","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"|-------------|-------------|","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"| Repository\u0027s Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"Note that a file in a given repository should only be tagged to one group. \u003cbr\u003e","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"e.g.: `example.java` in `example-repo` can either be in the `test` group or the `code` group, but not in both `test` and `code` group. If multiple groups are specified for a given file, the latter group (i.e., `code` group) is set for the file.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"## `report-config.json`","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"You can optionally use `report-config.json` to customize report generation by providing the following information. ([example](report-config.json))","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"**Fields to provide**:","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `title`: Title of the generated report, which is also the title of the deployed dashboard. Default: \"RepoSense Report\"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-standalone\"\u003e","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"## `config.json` (standalone config file)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"Repo owners can provide the following additional information to RepoSense using a config file that we call the **_standalone config file_**:","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"* which files/authors/commits to analyze/omit","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"* which git and git host usernames belong to which authors","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"* the display of an author","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"To use this feature, add a `_reposense/config.json` to the root of your repo using the format in the example below ([another example](https://github.com/reposense/RepoSense/blob/master/_reposense/config.json)) and **commit it** (reason: RepoSense can see committed code only):","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"```json {.no-line-numbers}","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"about-us/**\", \"**index.html\"],","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"formats\": [\"html\", \"css\"],","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"ignoreCommitList\": [\"90018e49f129ce7e0abdc8b18e91c9813588c601\", \"67890def\", \"abc123..def456\"],","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"ignoreAuthorList\": [\"charlie\"],","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"authors\":","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" [","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gitId\": \"alice\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"emails\": [\"alice@example.com\", \"alicet@example.com\"],","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"displayName\": \"Alice T.\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"authorNames\": [\"AT\", \"A\"],","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"**.css\"]","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"gitId\": \"bob\"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"Note: all fields are optional unless specified otherwise.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"**Fields to provide _repository-level_ info**:","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: Folders/files to ignore, specified using the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob).","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"* `formats`: File formats to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `ignoreCommitList`: The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive).","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"* `ignoreAuthorList`: The list of authors to ignore during analysis. Authors specified in `authors` field or `author-config.csv` will be also be omitted if they are in this list. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name).","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"* `fileSizeLimit`: A file size limit for the repository in bytes as a single number without units, that will override the default file size limit. If not specified, the default file size limit will continue to be used.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"**Fields to provide _author-level_ info**:\u003cbr\u003e","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"Note: `authors` field should contain _all_ authors that should be captured in the analysis.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"* `gitId`: Username of the author. {{ mandatory }} field.","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"* `emails`: Associated git emails of the author. For GitHub, this can be found in your [GitHub settings](https://github.com/settings/emails).","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `displayName`: Name to display on the report for this author.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* `authorNames`: Git Author Name(s) used in the author\u0027s commits. By default, RepoSense assumes an author would use their remote Git Host username as the Git username too. The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name).","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: _Additional_ (i.e. on top of the repo-level `ignoreGlobList`) folders/files to ignore for a specific author. The path glob syntax is specified by the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob). In the example above, the actual `ignoreGlobList` for `alice` would be `[\"about-us/**\", \"**index.html\", \"**.css\"]`.","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"To verify your standalone configuration is as intended, add the `_reposense/config.json` to your local copy of repo and run RepoSense against it as follows:\u003cbr\u003e","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"* Format: `java -jar RepoSense.jar --repo LOCAL_REPO_LOCATION` \u003cbr\u003e","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --repo c:/myRepose/foo/bar`\u003cbr\u003e","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"After that, view the report to see if the configuration you specified in the config file is being reflected correctly in the report.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"## A note about git author name","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"`Git Author Name` refers to the customizable author\u0027s display name set in the local `.gitconfig` file. For example, in the Git Log\u0027s display:","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"``` {.no-line-numbers}","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"...","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"commit cd7f610e0becbdf331d5231887d8010a689f87c7","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"Author: ConfiguredAuthorName \u003cauthor@example.com\u003e","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:14:41 2018 +0800","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Make some changes to show my new author\u0027s name","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"commit e3f699fd4ef128eebce98d5b4e5b3bb06a512f49","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"Author: ActualGitHostId \u003cauthor@example.com\u003e","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:13:13 2018 +0800","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" Initial commit","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" ...","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"`ActualGitHostId` and `ConfiguredAuthorName` are both `Git Author Name` of the same author.\u003cbr\u003e","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"To find the author name that you are currently using for your current git repository, run the following command within your git repository:","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"git config user.name","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"To set the author name to the value you want (e.g., to set it to your GitHub username) for your current git repository, you can use the following command ([more info](https://www.git-tower.com/learn/git/faq/change-author-name-email)):","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"git config user.name \"YOUR_AUTHOR_NAME”","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"To set the author name to use a default value you want for future git repositories, you can use the following command:","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"git config --global user.name \"YOUR_AUTHOR_NAME”","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"```","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"RepoSense expects the Git Author Name to be the same as author\u0027s username on the Git hosting platform (GitHub, GitLab, BitBucket). If an author\u0027s `Git Author Name` is different from their username on the Git hosting platform, the `Git Author Name` needs to be specified in the standalone config file. If the author has more than one `Git Author Name`, multiple values can be entered too.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"Note: Symbols such as `\"`, `!`, `/` etc. in your author name will be omitted, which may reduce the accuracy of the analysis if 2 names in the repository are approximately similar.","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":"\u003cdiv id\u003d\"section-blurbs\"\u003e","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":"## `blurbs.md`","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":"You can optionally use `blurbs.md` to add blurbs in Markdown syntax for repository branches. These blurbs will be seen when grouping by `Repo/Branch`. ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/blurbs.md))","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":"**Format**:","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":"* First line in section: Link to the repository branch.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":"* Second line onwards: Blurb content.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":"* Delimiter: `\u003c!--repo--\u003e`. Everything on the line after the delimiter will be ignored.","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":"\u003c/div\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":17,"-":208}},{"path":"docs/ug/customizingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Customizing reports\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"The report can be customized using several ways, as explained below.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"### Customize using CLI flags","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"**The simplest approach is to provide additional flags when running RepoSense.** The various flags are given in the panel below.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference**\", \"cli.md\") }}","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"### Customize using CSV config files","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"**Another, more powerful, way to customize the report is by using dedicated config files.** In this case you need to use the `--config` flag instead of the `--repo` flag when running RepoSense, as follows:","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference → `config` flag**\", \"cli.md#section-config\") }}","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"**Managing config files collaboratively**: If you use RepoSense to monitor a large number of programmers, it may be more practical to get the programmers to submit PRs to update the config files as necessary (\u003ctooltip content\u003d\"a coder realizes some of her code is missing from the report because she used multiple git usernames, and wants to add the additional usernames to the config file\"\u003eexample use case\u003c/tooltip\u003e).","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"To ensure that their PRs are correct, you can use [Netlify _deploy previews_](https://www.netlify.com/blog/2016/07/20/introducing-deploy-previews-in-netlify/) to preview how the report would look like after the PR has been merged. More details are in the panels below.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → Setting up**\", \"withNetlify.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → PR previews**\", \"withNetlify.md#section-pr-previews\") }}","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"### Get target repos to provide more info","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"**If feasible, you can also customize the target repos to play well with RepoSense** in the following two ways:","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"1\\. Add a _standalone config file_ to the repo to provide more config details to RepoSense. The format of the file is given below.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Standalone config file format**\", \"configFiles.md#section-standalone\") }}","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"2\\. To have more precise control over which code segment is attributed to which author, authors can annotate their code using `@@author` tags, as explained below.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using `@@author` tags**\", \"usingAuthorTags.md\") }}","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"In both instances, it is **necessary to commit any changes** for them to be detected by RepoSense.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"3\\. Add a git `.mailmap` file at the top-level of the repository, specifying mapped authors/commiters and/or e-mail addresses as per [gitmailmap documentation](https://git-scm.com/docs/gitmailmap). Any mappings specified here will be applied by git before all other RepoSense configurations. Configuration via `.mailmap` is particularly useful if you want the mapping to apply for all git commands as well instead of just for RepoSense.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"### Personalizing Reports","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"#### Add a title","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":"A title component can be added by creating a file titled `title.md` in the assets directory. You can specify the assets directory according to the reference below:","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":"{{ embed(\"Appendix: **CLI syntax reference → `assets` flag**\", \"cli.md#section-assets\") }}","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":"The title can render a combination of Markdown/HTML and plaintext ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/title.md)), and will appear on the top of the left panel as shown below:","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":"![Title Component Example](../images/title-example.png)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":"Do note that the width of the title is bound by the width of the left panel.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":"For more information on how to use Markdown, see the [Markdown Guide](https://www.markdownguide.org/).","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":"#### Add blurbs for branches","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":"A blurb can be added for a repository branch by creating a file titled `blurbs.md` in the config directory. The blurbs will be visible when grouping by `Repo/Branch`. The format of the file is given below:","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"{{ embed(\"Appendix: **Config files format**\", \"configFiles.md#section-blurbs\") }}","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":"Specifying the config directory can be done as follows:","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"{{ embed(\"Appendix: **CLI syntax reference → `config` flag**\", \"cli.md#section-config\") }}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":9,"sopa301":13,"-":61}},{"path":"docs/ug/generatingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Generating a report\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"Let\u0027s look at different ways to generate RepoSense reports.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"* **If you have Java on your computer**, the straight-forward way to generate a report is to use the RepoSense executable to generate the report locally on your computer, as explained in the [_Generating reports locally_](#generating-reports-locally) section below.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **If you don\u0027t have Java on your computer or do not wish to run the executable on your computer**, some alternatives are provided in the [_Generating reports remotely_](#generating-reports-remotely) section below.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"RepoSense is built to analyze any type of git repo, remote or local. It works best when analyzing remote repositories hosted on GitHub, GitLab or BitBucket.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"For other types of repositories, external links are disabled.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"## Generating reports locally","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"1. **Ensure you have the prerequisites**:","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" * **Java 11** or later ([download :fas-download:](https://www.java.com/en/)).","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * **git `2.23`** or later on the command line. ([download :fas-download:](https://git-scm.com/downloads)).\u003cbr\u003e run `git --version` in your OS terminal to confirm the version.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Download the latest JAR file** from our [releases](https://github.com/reposense/RepoSense/releases/latest).","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. **Generate a report**: The simplest use case for RepoSense is to generate a report for the recent history of a repo.\u003cbr\u003e","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" command: `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view`\u003cbr\u003e","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" Examples:","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view` (note the `.git` at the end of the repo URL)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" * `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar --view` analyzes the two specified repos (one remote, one local).","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" The above commands will analyze the given repo(s) for commits done within \u003d\u003dthe last month\u003d\u003d and open the report in your default Browser.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"**To learn how to generate a report using \u003ctooltip content\u003d\"e.g., generate a report for a different period, for specific file types, for specific authors, etc.\"\u003eother settings\u003c/tooltip\u003e**, head over to the [_**Customizing reports**_](customizingReports.html) section.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"## Generating reports remotely","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"**You can generate a RepoSense report remotely without installing/running anything on your computer.** This is particularly useful when you are deciding whether to adopt RepoSense.","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"**The easiest option is to use Netlify.** The instructions are given below.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with Netlify → Setting up**\", \"withNetlify.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"**You can also use the following options.** While they are more work to set up, they are more suitable as a permanent solution due to their generous free tier.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with GitHub Actions → Setting up**\", \"withGithubActions.md#section-setting-up\") }}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: **Using RepoSense with Travis → Setting up**\", \"withTravis.md#section-setting-up\") }}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"docs/ug/title.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"# RepoSense","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":"RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members.","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":"## Features","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":"- Repository analysis: Gain a comprehensive overview of your codebase, including commit statistics, file changes, and code ownership.","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":"- Contribution tracking: Easily track the contributions made by each team member, including the number of commits, lines of code added/removed, and more.","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":"- Visualization: Visualize your repository\u0027s history and changes over time through interactive graphs and charts.","isFullCredit":false}],"authorContributionMap":{"sopa301":9}},{"path":"docs/ug/usingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using reports\" %}","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"Let\u0027s look at how to view, interpret, and interact with a RepoSense report.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"## Viewing the report","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"As a report consists of web pages, it can be viewed using a Web Browser. Here are the ways to view the report in different situations.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Situation 1: The report has been hosted on a website**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Simply go to the URL of the report ([example](https://nus-cs2113-ay1920s2.github.io/tp-dashboard)) in your browser.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"* **Situation 2: You generated the report in your computer earlier**","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Run RepoSense with the `--view` option:\u003cbr\u003e","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Format: `java -jar RepoSense.jar --view REPORT_FOLDER`\u003cbr\u003e","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" e.g., `java -jar RepoSense.jar --view ./myReport/reposense-report`","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"* **Situation 3: The report was given to you as a zip file or as a folder**","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" 1. If it is a zip file, unzip it.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" 1. Open the `index.html` (in the unzipped report directory) using a browser.","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" 1. If the report was not loaded automatically, click on the `choose file` button in the shown web page, and select the `archive.zip` (in the same directory) manually.\u003cbr\u003e","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" If even the `choose file` button is not showing up, try a different browser.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"## Report structure","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"Here is an example of how a typical report looks like:","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"![report](../images/report-features.png)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"The report is divided into two sections: [_**Chart panel**_](#chart-panel) and the [_**Code panel**_](#code-panel). In some situations, the [_**Commits panel**_](#commits-panel) will appear in place of the _code panel_. All three are explained in the sections below.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"Links to external webpages (repository link, author\u0027s profile, blame view, etc.) is only properly supported when RepoSense analyzes a remote repository belonging to GitHub, GitLab or BitBucket.","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"## Chart panel","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"![Ramp Charts](../images/rampchart.png)\u003cbr\u003e","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"The `Chart panel` (an example is shown above) contains a series of _ramp chart_ + _contribution bar_ pairs, possibly organized into sub-groups, with a _tool bar_ at the top.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"#### Ramp charts","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"**Ramp chart**: This is a visualization of the frequency and quantity of contributions of an author for a specific repository. Each ramp chart (i.e., light blue rectangle) represents an author\u0027s contribution timeline for a particular repository. Contributions appear as ramps in the timeline.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"**Ramp**: The name we use to refer to the triangular saw-tooth-like shape that represents a code contribution. A ramp can represent a single commit, a sum of the commits done in a certain period, depending on the granularity used.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"* The ramp\u0027s area is proportional to the amount of contribution the author made at that time period.","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"* The position of the right edge of the ramp (perpendicular to the blue bar) represents the period (the day or the week) in which the contribution was made.","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Hover the pointer over a ramp to see the total number of lines represented by that ramp.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"* Click on the ramp to view details about the list of commits represented in the ramp.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * At the commit-level of granularity, it links to the commit in the remote repository.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" * At higher levels of granularity, it displays the list of commits in the Code Panel.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"* To make the comparison between two authors easier, the color of the ramps that represent different authors\u0027 contributions at the same time period are the same.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Ramps representing big contributions can overlap with earlier time periods. This represents the possibility that if the work committed during a specific period is big, it could have started at an earlier time period.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"#### Contribution bars","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"**Contribution bar**: It\u0027s the bar that appears below each ramp chart. Its length represents the total amount of code contributed by an author during the _total analysis period_.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"* Hover over a contribution bar to see the exact amount of the contribution.","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"* If an author contributed significantly higher than other authors, the contribution bar could _overflow_ into multiple lines.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"We allow contribution bars to overflow into multiple lines (rather than adjust the scale to fit the maximum bar length) to prevent a minority of \u003ctooltip content\u003d\"i.e., those contributing an unusually high amount of code\"\u003eoutliers\u003c/tooltip\u003e from affecting the scale of the majority.","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"#### Tool bar","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"The `Tool Bar` at the top of the Chart panel provides a set of configuration options that control the Chart panel.","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"* `Search`: filters the author and repository by keywords.","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Multiple keywords/terms can be used, separated by spaces.","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Entries that contain _any_ (not necessarily _all_) of the search terms will be displayed.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" * The keywords used to filter the author and repository are case-insensitive.","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" * Starting a search with `tag:` will filter author and repository by git tags. Similar search rules as above (like separating multiple tag names by space) apply.","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"* `Group by`: grouping criteria for the rows of results.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * `None`: results will not be grouped in any particular way.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * `Repo/Branch`: results will be grouped by repositories and its\u0027 associating branches.","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * `Author`: results will be grouped by the name of the author. Contributions made to multiple repositories by a particular author will be grouped under the author.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"* `Sort groups by`: sorting criteria for the main group. See note [1] below.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * `Group title`: groups will be sorted by the title of the group (in bold text) in alphabetical order.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * `Contribution`: groups will be sorted by the combined contributions within a group, in the order of number of lines added.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * `Variance`: groups will be sorted by how far the daily contributions are spread out from their average value among all authors involved. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance).","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"* `Sort within groups by`: sorting criteria within each group.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * `Title`: each group will be internally sorted by its title in alphabetical order.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * `Contribution`: each group will be internally sorted by individual contributions in the order of number of lines added.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * `Variance`: each group will be internally sorted by how far the daily contributions are spread out from their average value by each author into a particular repo. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance).","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"* `Granularity`: the period of time for which commits are aggregated in the Ramp Chart.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" * `Commit`: each commit made is shown as one ramp.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * `Day`: commits within a day (commits made within 00:00 to 23:59) are shown as one ramp.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * `Week`: commits within a week (from Monday 00:00 to Sunday 23:59) are shown as one ramp.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"* `Since`, `Until`: the date range for the Ramp Chart (not applied to the Contribution Bars).","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `Reset date range`: resets the date range of the Ramp Chart to the default date range.","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"* `Breakdown by file type`: toggles the contribution bar to either display the bar by :","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" * the total lines of codes added (if the checkbox is left unchecked), or","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * a breakdown of the number of lines of codes added to each file type (if the checkbox is checked). More info on note [3] below.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"* `Merge group`: merges all the ramp charts of each group into a single ramp chart; aggregates the contribution of each group.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * viewing of authored code of the group as a whole is available when `group by repos`.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":"* `Show tags`: shows the tags of all the repos under a group","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"* `Trim timeline`: trims the starting and ending portion of each ramp where no commits were made; only the part of each ramp where commits were made will be shown.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"Notes:\u003cbr\u003e","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"[1] **`Sort groups by`**: each main group has its own index and percentile according to its ranking position after sorting (e.g., if the groups are sorted by contribution in descending order, a 25% percentile indicates that the group is in the top 25% of the whole cohort in terms of contribution)\u003cbr\u003e.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"[2] **`Repo/Branch`**: the repo/branch name is constructed as `ORGANIZATION/REPOSITORY[BRANCH]` (e.g., `reposense/reposense[master]`)\u003cbr\u003e","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"[3] The total contribution of each group will get updated based on the checked file types and will be taken into account when the sorting criteria is contribution.","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"**RepoSense support _intelligent_ bookmarks**: Note how the browser URL changes as you modify settings in the report. If you send that URL to someone else, that person will be able to use that URL to view the report in the same _view configuration_ you had when you copied the URL. For example, [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/) and [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/#search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d2020-03-01\u0026timeframe\u003dday\u0026mergegroup\u003dtrue\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dtrue) give two different views of the same report.","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"## Code panel","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/code-panel.png\" alt\u003d\"code panel\" width\u003d\"468\"\u003e","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"The `Code panel` allows users to see the code attributed to a specific author. Click on the `\u003c/\u003e` icon beside the author\u0027s name in the `Chart panel` to display the `Code panel` on the right.","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"* The Code panel shows the files that contain the author\u0027s contributions, sorted by the number of lines written.","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"* Select the radio button to enable one of the following 2 filters. Note that only 1 of the 2 filters is active at any time.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Type file path glob in glob filter to include files matching the glob expression.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Select the checkboxes to include files of preferred file extensions.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" The number right beside the file extension shows the total number of lines written by the author in such file extension files. In contrast, the number inside the parenthesis indicates the number of non-blank lines written by the author.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"* Clicking the file title toggles the file content.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"* Clicking the first icon beside the file title opens the history view of the file on the remote repository.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"* Clicking the second icon beside the file title opens the blame view of the file on the remote repository.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"* When using the code panel for a specific author, code attributed to the author is highlighted in green.","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * When using the `merge group` option with `group by repos`, the code panel will consist of multiple authors\u0027 contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"* Non-trivial code segments that the selected author has not written are hidden by default, but you can toggle them by clicking on the %%:fas-plus-circle:%% icon.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"Changing binary files, such as images (`.jpg`, `.png`), applications (`.exe`), zip files (`.zip`, `.rar`) and certain document types (`.docx`, `.pptx`), is not counted towards the total number of lines of code contributed by an author.","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c/box\u003e","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"## Commits panel","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/commits-panel.png\" alt\u003d\"commits panel\" width\u003d\"468\"\u003e","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"The `Commits panel` allows users to see the commits attributed to a specific author.","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"* To view all commits attributed to an author, locate the author\u0027s ramp chart in the chart panel, and click on the %%:fas-list-ul:%% icon above the ramp chart.","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"* To view commits of a specific period, locate the author\u0027s ramp chart in the chart panel, hold down the \u003ckbd\u003eCtrl\u003c/kbd\u003e key (\u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e in MacOS), and click on the start and end positions of the period (on the ramp chart) you want to view. \u003cbr\u003e","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"![Opening commits panel](../images/opening-commits-panel.gif)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"* The commits can be sorted by the date it was committed or by LoC.","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"* The tags of the commits will also be displayed on top if any. Clicking on a tag will direct you to the commit having that particular tag.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"* The date range for the `Chart panel` can be updated by clicking on the \"Show ramp chart for this period\" below the name of the author.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"* The ramp chart at the top of the `Commits panel` represents individual commits (not weekly or daily contributions).","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"* The commit messages body can be expanded or collapsed by clicking on the %%:fas-ellipsis-h:%% icon beside each commit message title.","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"* To promote and encourage the 50/72 rule for commit messages, a dotted vertical line will be shown for:","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Commit message subject that exceeds 50 characters.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Commit message body after the 72nd character mark.","isFullCredit":false}],"authorContributionMap":{"-":173,"jonasongg":3}},{"path":"frontend/.eslintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"env\": {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"browser\": true","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"airbnb-base\",","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"plugin:vue/recommended\",","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"@vue/typescript\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" \"plugin:import/typescript\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" \"plugin:@stylistic/disable-legacy\"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"plugins\": [","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"@stylistic\"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"vue/component-definition-name-casing\": [","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"kebab-case\"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"vue/require-prop-types\": 0,","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"no-param-reassign\": 0,","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"@stylistic/arrow-parens\": [","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"always\"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indent\": [","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" 2,","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"ignoredNodes\": [","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"ConditionalExpression\"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"prefer-destructuring\": 0,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"func-names\": [","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"as-needed\"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"no-alert\": 0,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@stylistic/linebreak-style\": 0,","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@stylistic/max-len\": [","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"code\": 120","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"prefer-object-spread\": 0,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"@stylistic/function-call-argument-newline\": 0,","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"vue/no-computed-properties-in-data\": 0,","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"import/extensions\": [","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"js\": \"never\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"ts\": \"never\"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"parserOptions\": {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"parser\": \"@typescript-eslint/parser\"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"overrides\": [","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"files\": [\"*.ts\"],","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"airbnb-typescript/base\",","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" \"plugin:@typescript-eslint/recommended\",","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"plugin:@stylistic/disable-legacy\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"parserOptions\": {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"project\": [\"./tsconfig.json\"]","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indent\": [","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"error\",","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" 2,","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"ignoredNodes\": [","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"ConditionalExpression\"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"@stylistic/member-delimiter-style\": \"error\",","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"@stylistic/type-annotation-spacing\": \"error\",","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": [","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"error\",","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"default\": \"array-simple\",","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"array-simple\"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"files\": [\"*.vue\"],","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": [","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"error\",","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"default\": \"generic\",","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"generic\"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"supermii2"},"content":" \"no-unused-vars\": \"off\",","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"supermii2"},"content":" \"@typescript-eslint/no-unused-vars\": [\"error\"]","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" ]","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"supermii2":2,"sopa301":33,"-":74}},{"path":"frontend/.stylelintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"plugins\": [","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"stylelint-order\"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"extends\": [","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\",","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-vue\"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"rules\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"declaration-no-important\": true,","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"declaration-block-single-line-max-declarations\": 1,","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"no-invalid-double-slash-comments\": true,","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"function-no-unknown\": null,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"no-descending-specificity\": null,","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"selector-type-no-unknown\": null,","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"at-rule-no-unknown\": null,","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"no-duplicate-selectors\": null,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"length-zero-no-unit\": true,","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"value-keyword-case\": \"lower\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"selector-type-case\": \"lower\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"color-no-invalid-hex\": true,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"string-no-newline\": true,","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"unit-no-unknown\": true,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"property-no-unknown\": true,","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"block-no-empty\": true,","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"comment-no-empty\": true,","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"shorthand-property-no-redundant-values\": null,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"declaration-empty-line-before\": null,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"selector-class-pattern\": null,","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"color-function-notation\": null,","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"alpha-value-notation\": null,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"comment-empty-line-before\": null,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"property-no-vendor-prefix\": null,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"selector-pseudo-element-colon-notation\": null,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"at-rule-empty-line-before\": null,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"font-family-name-quotes\": null,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"color-hex-length\": null,","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-extra-semicolons\": true,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-leading-zero\": \"never\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-no-trailing-zeros\": null,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"@stylistic/property-case\": \"lower\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@stylistic/string-quotes\": \"single\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-after\": \"always\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@stylistic/selector-list-comma-newline-after\": \"always\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-eol-whitespace\": true,","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indentation\": 2,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"@stylistic/block-opening-brace-space-before\": \"always\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-before\": \"never\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"order/properties-alphabetical-order\": true,","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"scss/no-global-function-names\": null,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-no-partial-leading-underscore\": null,","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-partial-extension\": null,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"scss/load-no-partial-leading-underscore\": null,","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-empty-line-before\": null,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-whitespace-inside\": null,","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"scss/dollar-variable-pattern\": null","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":42,"-":18}},{"path":"frontend/cypress/config/blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense/tree/cypress","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"first blurb","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://gitlab.com/reposense/testrepo-gitlab/-/tree/main","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"unseen blurb","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/publish-RepoSense/tree/master","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"## third blurb in h2 markdown tag","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e------------------------------------","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/RepoSense-auth-helper/tree/master","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"\u003ch1\u003esecond blurb in h1 tag\u003c/h1\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":11}},{"path":"frontend/cypress/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":" \"name\": \"cypress\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 2,","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"requires\": true,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" \"packages\": {","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" \"\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" \"node_modules/@colors/colors\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\",","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.1.90\"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/request\": {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"aws-sign2\": \"~0.7.0\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"aws4\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"caseless\": \"~0.12.0\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"~1.0.6\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"extend\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"forever-agent\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"form-data\": \"~2.3.2\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"http-signature\": \"~1.3.6\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"is-typedarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"isstream\": \"~0.1.2\",","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"json-stringify-safe\": \"~5.0.1\",","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"~2.1.19\",","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"performance-now\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"qs\": \"6.10.4\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"tough-cookie\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"tunnel-agent\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"^8.3.2\"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb\": {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"lodash.once\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb/node_modules/debug\": {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/node\": {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"version\": \"18.18.3\",","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\",","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\",","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sinonjs__fake-timers\": {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sizzle\": {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.4\",","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\",","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\",","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yauzl\": {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.1\",","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\",","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"node_modules/aggregate-error\": {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\",","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"clean-stack\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"indent-string\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-colors\": {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\",","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-escapes\": {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.2\",","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.21.3\"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"sopa301"},"content":" \"node_modules/arch\": {","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"sopa301"},"content":" \"node_modules/asn1\": {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.6\",","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\",","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"~2.1.0\"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"sopa301"},"content":" \"node_modules/assert-plus\": {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8\"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"node_modules/astral-regex\": {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"sopa301"},"content":" \"node_modules/async\": {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.4\",","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\",","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"sopa301"},"content":" \"node_modules/asynckit\": {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"sopa301"},"content":" \"node_modules/at-least-node\": {","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws-sign2\": {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.7.0\",","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws4\": {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.0\",","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\",","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\",","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"sopa301"},"content":" \"node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\",","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"sopa301"},"content":" \"node_modules/base64-js\": {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.1\",","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\",","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\",","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"sopa301"},"content":" \"node_modules/bcrypt-pbkdf\": {","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\",","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"^0.14.3\"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"sopa301"},"content":" \"node_modules/blob-util\": {","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"sopa301"},"content":" \"node_modules/bluebird\": {","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.7.2\",","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"sopa301"},"content":" \"node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer\": {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.1\",","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\",","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"sopa301"},"content":" \"base64-js\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"sopa301"},"content":" \"ieee754\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer-crc32\": {","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.13\",","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\",","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"sopa301"},"content":" \"node_modules/cachedir\": {","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\",","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"sopa301"},"content":" \"node_modules/call-bind\": {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"node_modules/caseless\": {","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.12.0\",","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk\": {","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"sopa301"},"content":" \"node_modules/check-more-types\": {","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.24.0\",","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\",","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\",","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"sopa301"},"content":" \"node_modules/ci-info\": {","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\"","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"sopa301"},"content":" \"node_modules/clean-stack\": {","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-cursor\": {","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"sopa301"},"content":" \"restore-cursor\": \"^3.1.0\"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-table3\": {","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\",","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\",","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"sopa301"},"content":" \"node\": \"10.* || \u003e\u003d 12.*\"","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"@colors/colors\": \"1.5.0\"","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-truncate\": {","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-name\": {","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"sopa301"},"content":" \"node_modules/colorette\": {","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.20\",","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"sopa301"},"content":" \"node_modules/combined-stream\": {","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.8\",","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"delayed-stream\": \"~1.0.0\"","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"sopa301"},"content":" \"node_modules/commander\": {","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\",","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"node_modules/common-tags\": {","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.8.2\",","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0.0\"","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"node_modules/concat-map\": {","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"sopa301"},"content":" \"node_modules/core-util-is\": {","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"sopa301"},"content":" \"node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\",","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"sopa301"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"sopa301"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"sopa301"},"content":" \"node_modules/cypress\": {","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\",","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\",","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\",","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"sopa301"},"content":" \"@cypress/request\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"sopa301"},"content":" \"@cypress/xvfb\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"sopa301"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\",","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"sopa301"},"content":" \"@types/sizzle\": \"^2.3.2\",","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"sopa301"},"content":" \"arch\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"sopa301"},"content":" \"blob-util\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"sopa301"},"content":" \"bluebird\": \"^3.7.2\",","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\",","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"sopa301"},"content":" \"cachedir\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"check-more-types\": \"^2.24.0\",","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"sopa301"},"content":" \"cli-table3\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^6.2.1\",","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"sopa301"},"content":" \"common-tags\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"sopa301"},"content":" \"dayjs\": \"^1.10.4\",","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"^2.3.6\",","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"sopa301"},"content":" \"eventemitter2\": \"6.4.7\",","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"sopa301"},"content":" \"execa\": \"4.1.0\",","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"sopa301"},"content":" \"executable\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"2.0.1\",","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"sopa301"},"content":" \"figures\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"sopa301"},"content":" \"fs-extra\": \"^9.1.0\",","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"sopa301"},"content":" \"getos\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"is-installed-globally\": \"~0.4.0\",","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"lazy-ass\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"sopa301"},"content":" \"listr2\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"sopa301"},"content":" \"log-symbols\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"sopa301"},"content":" \"minimist\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"sopa301"},"content":" \"ospath\": \"^1.2.2\",","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"sopa301"},"content":" \"pretty-bytes\": \"^5.6.0\",","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"sopa301"},"content":" \"process\": \"^0.11.10\",","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"sopa301"},"content":" \"proxy-from-env\": \"1.0.0\",","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"sopa301"},"content":" \"request-progress\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.3\",","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^8.1.1\",","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"sopa301"},"content":" \"tmp\": \"~0.2.1\",","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"sopa301"},"content":" \"untildify\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"bin/cypress\"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || ^18.0.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"sopa301"},"content":" \"node_modules/dashdash\": {","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.14.1\",","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\",","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"sopa301"},"content":" \"node_modules/dayjs\": {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.10\",","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\",","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"sopa301"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug/node_modules/ms\": {","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"node_modules/delayed-stream\": {","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"sopa301"},"content":" \"node_modules/ecc-jsbn\": {","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\",","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"sopa301"},"content":" \"node_modules/emoji-regex\": {","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\",","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"sopa301"},"content":" \"node_modules/end-of-stream\": {","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.4\",","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\",","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"sopa301"},"content":" \"node_modules/enquirer\": {","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\",","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"sopa301"},"content":" \"ansi-colors\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"sopa301"},"content":" \"node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"sopa301"},"content":" \"node_modules/eventemitter2\": {","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.4.7\",","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\",","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"sopa301"},"content":" \"node_modules/execa\": {","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\",","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"sopa301"},"content":" \"cross-spawn\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"sopa301"},"content":" \"human-signals\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"sopa301"},"content":" \"is-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"sopa301"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"sopa301"},"content":" \"npm-run-path\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"sopa301"},"content":" \"strip-final-newline\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"sopa301"},"content":" \"node_modules/executable\": {","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"sopa301"},"content":" \"pify\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"sopa301"},"content":" \"node_modules/extend\": {","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"sopa301"},"content":" \"node_modules/extract-zip\": {","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\",","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"cli.js\"","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.17.0\"","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"sopa301"},"content":" \"@types/yauzl\": \"^2.9.1\"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"node_modules/extsprintf\": {","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\",","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"sopa301"},"content":" \"node_modules/fd-slicer\": {","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\",","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"pend\": \"~1.2.0\"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"sopa301"},"content":" \"node_modules/figures\": {","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\",","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"node_modules/forever-agent\": {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"sopa301"},"content":" \"node_modules/form-data\": {","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"sopa301"},"content":" \"asynckit\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"^2.1.12\"","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.12\"","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra\": {","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"sopa301"},"content":" \"at-least-node\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"sopa301"},"content":" \"jsonfile\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra/node_modules/universalify\": {","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs.realpath\": {","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\",","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"sopa301"},"content":" \"node_modules/function-bind\": {","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-intrinsic\": {","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"sopa301"},"content":" \"has\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-stream\": {","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\",","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\",","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"sopa301"},"content":" \"pump\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"sopa301"},"content":" \"node_modules/getos\": {","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"sopa301"},"content":" \"async\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"sopa301"},"content":" \"node_modules/getpass\": {","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.7\",","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\",","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob\": {","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"sopa301"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"sopa301"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-dirs\": {","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\",","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"sopa301"},"content":" \"ini\": \"2.0.0\"","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"sopa301"},"content":" \"node_modules/graceful-fs\": {","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.11\",","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"node_modules/has\": {","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4.0\"","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-proto\": {","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\",","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-symbols\": {","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\",","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"sopa301"},"content":" \"node_modules/http-signature\": {","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.6\",","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\",","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"sopa301"},"content":" \"jsprim\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"sopa301"},"content":" \"sshpk\": \"^1.14.1\"","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"sopa301"},"content":" \"node_modules/human-signals\": {","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.12.0\"","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"sopa301"},"content":" \"node_modules/ieee754\": {","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1019,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":1020,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1021,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1022,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":1023,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":1024,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1025,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1026,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":1027,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":1028,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1029,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1030,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"node_modules/indent-string\": {","isFullCredit":false},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1033,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1034,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1035,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1036,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1037,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1038,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1039,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1040,"author":{"gitId":"sopa301"},"content":" \"node_modules/inflight\": {","isFullCredit":false},{"lineNumber":1041,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":1042,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",","isFullCredit":false},{"lineNumber":1043,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1044,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1045,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1046,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1049,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1050,"author":{"gitId":"sopa301"},"content":" \"node_modules/inherits\": {","isFullCredit":false},{"lineNumber":1051,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":1052,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",","isFullCredit":false},{"lineNumber":1053,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1054,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1055,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1056,"author":{"gitId":"sopa301"},"content":" \"node_modules/ini\": {","isFullCredit":false},{"lineNumber":1057,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1058,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1059,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1060,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1063,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1064,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1065,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-ci\": {","isFullCredit":false},{"lineNumber":1066,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":1067,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":1068,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1069,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1070,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1071,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":1072,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1073,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1074,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"bin.js\"","isFullCredit":false},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1077,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":1078,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1079,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1080,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1081,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1082,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1083,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1084,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1085,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1086,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-installed-globally\": {","isFullCredit":false},{"lineNumber":1087,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1088,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":1089,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1090,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1091,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1092,"author":{"gitId":"sopa301"},"content":" \"global-dirs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":1093,"author":{"gitId":"sopa301"},"content":" \"is-path-inside\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":1094,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1095,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1096,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1099,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1100,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1101,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1102,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-path-inside\": {","isFullCredit":false},{"lineNumber":1103,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":1104,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":1105,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1106,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1107,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1109,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1110,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1111,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-stream\": {","isFullCredit":false},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":1114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1116,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1118,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1119,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1120,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1121,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1122,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1123,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-typedarray\": {","isFullCredit":false},{"lineNumber":1124,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1125,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1128,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1129,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-unicode-supported\": {","isFullCredit":false},{"lineNumber":1130,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":1131,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\",","isFullCredit":false},{"lineNumber":1132,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1133,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1134,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1135,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1136,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1137,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1138,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1139,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1140,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"node_modules/isexe\": {","isFullCredit":false},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1143,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1144,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1145,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1146,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1147,"author":{"gitId":"sopa301"},"content":" \"node_modules/isstream\": {","isFullCredit":false},{"lineNumber":1148,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":1149,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":1150,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1151,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1152,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1153,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsbn\": {","isFullCredit":false},{"lineNumber":1154,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",","isFullCredit":false},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1157,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1158,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1159,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-schema\": {","isFullCredit":false},{"lineNumber":1160,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":1162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1163,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1164,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1165,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-stringify-safe\": {","isFullCredit":false},{"lineNumber":1166,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":1167,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":1168,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1169,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile\": {","isFullCredit":false},{"lineNumber":1172,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":1173,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",","isFullCredit":false},{"lineNumber":1174,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1175,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1176,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1177,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":1178,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1179,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":1180,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.1.6\"","isFullCredit":false},{"lineNumber":1181,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1182,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1183,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile/node_modules/universalify\": {","isFullCredit":false},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1185,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1186,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1187,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1188,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1189,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":1190,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1191,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1192,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsprim\": {","isFullCredit":false},{"lineNumber":1193,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":1194,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":1195,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1196,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1197,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":1198,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":1199,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1200,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1201,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1202,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"1.3.0\",","isFullCredit":false},{"lineNumber":1203,"author":{"gitId":"sopa301"},"content":" \"json-schema\": \"0.4.0\",","isFullCredit":false},{"lineNumber":1204,"author":{"gitId":"sopa301"},"content":" \"verror\": \"1.10.0\"","isFullCredit":false},{"lineNumber":1205,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1206,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1207,"author":{"gitId":"sopa301"},"content":" \"node_modules/lazy-ass\": {","isFullCredit":false},{"lineNumber":1208,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":1209,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\",","isFullCredit":false},{"lineNumber":1210,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1211,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1212,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1213,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e 0.8\"","isFullCredit":false},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1216,"author":{"gitId":"sopa301"},"content":" \"node_modules/listr2\": {","isFullCredit":false},{"lineNumber":1217,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.14.0\",","isFullCredit":false},{"lineNumber":1218,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\",","isFullCredit":false},{"lineNumber":1219,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1221,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1222,"author":{"gitId":"sopa301"},"content":" \"cli-truncate\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":1223,"author":{"gitId":"sopa301"},"content":" \"colorette\": \"^2.0.16\",","isFullCredit":false},{"lineNumber":1224,"author":{"gitId":"sopa301"},"content":" \"log-update\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1225,"author":{"gitId":"sopa301"},"content":" \"p-map\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1226,"author":{"gitId":"sopa301"},"content":" \"rfdc\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":1227,"author":{"gitId":"sopa301"},"content":" \"rxjs\": \"^7.5.1\",","isFullCredit":false},{"lineNumber":1228,"author":{"gitId":"sopa301"},"content":" \"through\": \"^2.3.8\",","isFullCredit":false},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":1230,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1231,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1232,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":1233,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1234,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1235,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"\u003e\u003d 2.3.0 \u003c 3\"","isFullCredit":false},{"lineNumber":1236,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1237,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":1238,"author":{"gitId":"sopa301"},"content":" \"enquirer\": {","isFullCredit":false},{"lineNumber":1239,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1240,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1241,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1242,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1243,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash\": {","isFullCredit":false},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":1245,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",","isFullCredit":false},{"lineNumber":1246,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1247,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1248,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1249,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.once\": {","isFullCredit":false},{"lineNumber":1250,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":1251,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":1252,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1253,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1254,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1255,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-symbols\": {","isFullCredit":false},{"lineNumber":1256,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":1257,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":1258,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1259,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1261,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1262,"author":{"gitId":"sopa301"},"content":" \"is-unicode-supported\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":1263,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1264,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1265,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1266,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1267,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1268,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1269,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1270,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1271,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update\": {","isFullCredit":false},{"lineNumber":1272,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1273,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1274,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1275,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"ansi-escapes\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":1278,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":1279,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1280,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^6.2.0\"","isFullCredit":false},{"lineNumber":1281,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1282,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1283,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1284,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1285,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1286,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1287,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1288,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1289,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":1290,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1295,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1296,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":1297,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1298,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1299,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1300,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1301,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1302,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1303,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1304,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1305,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.0\",","isFullCredit":false},{"lineNumber":1308,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\",","isFullCredit":false},{"lineNumber":1309,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1310,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1311,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1312,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1313,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1314,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1315,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1316,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1317,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1318,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1319,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":1322,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":1323,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1324,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1325,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1326,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1327,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1328,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1329,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1330,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1331,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1332,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge-stream\": {","isFullCredit":false},{"lineNumber":1333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1337,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1338,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-db\": {","isFullCredit":false},{"lineNumber":1339,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":1340,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",","isFullCredit":false},{"lineNumber":1341,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1342,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1343,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1344,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":1345,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1346,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1347,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-types\": {","isFullCredit":false},{"lineNumber":1348,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":1349,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",","isFullCredit":false},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1351,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1352,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1353,"author":{"gitId":"sopa301"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":1354,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1355,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1356,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":1357,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1358,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1359,"author":{"gitId":"sopa301"},"content":" \"node_modules/mimic-fn\": {","isFullCredit":false},{"lineNumber":1360,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":1361,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":1362,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1366,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1367,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1368,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":1369,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":1370,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",","isFullCredit":false},{"lineNumber":1371,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1372,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1373,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1374,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":1375,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1376,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1377,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1380,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimist\": {","isFullCredit":false},{"lineNumber":1381,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":1382,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",","isFullCredit":false},{"lineNumber":1383,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1384,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1385,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1386,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1387,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1388,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1389,"author":{"gitId":"sopa301"},"content":" \"node_modules/ms\": {","isFullCredit":false},{"lineNumber":1390,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":1391,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",","isFullCredit":false},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1394,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1395,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {","isFullCredit":false},{"lineNumber":1396,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":1397,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":1398,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1399,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1400,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1401,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1402,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1403,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1404,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1405,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1406,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1407,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {","isFullCredit":false},{"lineNumber":1408,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.3\",","isFullCredit":false},{"lineNumber":1409,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\",","isFullCredit":false},{"lineNumber":1410,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1412,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1413,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1414,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1415,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1416,"author":{"gitId":"sopa301"},"content":" \"node_modules/once\": {","isFullCredit":false},{"lineNumber":1417,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":1418,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",","isFullCredit":false},{"lineNumber":1419,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1420,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1421,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1422,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":1423,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1424,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"node_modules/onetime\": {","isFullCredit":false},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":1427,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",","isFullCredit":false},{"lineNumber":1428,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1429,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1430,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1431,"author":{"gitId":"sopa301"},"content":" \"mimic-fn\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":1432,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1433,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1434,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1435,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1436,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1437,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1438,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1439,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"node_modules/ospath\": {","isFullCredit":false},{"lineNumber":1441,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":1442,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\",","isFullCredit":false},{"lineNumber":1443,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1444,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1445,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1446,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-map\": {","isFullCredit":false},{"lineNumber":1447,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1448,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1449,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1450,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1451,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1452,"author":{"gitId":"sopa301"},"content":" \"aggregate-error\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1453,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1455,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1456,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1457,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1458,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1459,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1460,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1461,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-is-absolute\": {","isFullCredit":false},{"lineNumber":1462,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":1463,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":1464,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1465,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1466,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1467,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1468,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1470,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-key\": {","isFullCredit":false},{"lineNumber":1471,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":1472,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",","isFullCredit":false},{"lineNumber":1473,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1474,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1475,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1476,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1477,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1478,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1479,"author":{"gitId":"sopa301"},"content":" \"node_modules/pend\": {","isFullCredit":false},{"lineNumber":1480,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":1481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\",","isFullCredit":false},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1484,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1485,"author":{"gitId":"sopa301"},"content":" \"node_modules/performance-now\": {","isFullCredit":false},{"lineNumber":1486,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":1487,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":1488,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\",","isFullCredit":false},{"lineNumber":1489,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1490,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1491,"author":{"gitId":"sopa301"},"content":" \"node_modules/pify\": {","isFullCredit":false},{"lineNumber":1492,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":1493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":1494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\",","isFullCredit":false},{"lineNumber":1495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1496,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1498,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1499,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1500,"author":{"gitId":"sopa301"},"content":" \"node_modules/pretty-bytes\": {","isFullCredit":false},{"lineNumber":1501,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.6.0\",","isFullCredit":false},{"lineNumber":1502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",","isFullCredit":false},{"lineNumber":1503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1505,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1507,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1508,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1509,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1510,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1511,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1512,"author":{"gitId":"sopa301"},"content":" \"node_modules/process\": {","isFullCredit":false},{"lineNumber":1513,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.10\",","isFullCredit":false},{"lineNumber":1514,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\",","isFullCredit":false},{"lineNumber":1515,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1516,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1517,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1518,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6.0\"","isFullCredit":false},{"lineNumber":1519,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1520,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1521,"author":{"gitId":"sopa301"},"content":" \"node_modules/proxy-from-env\": {","isFullCredit":false},{"lineNumber":1522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1523,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1524,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1525,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1526,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1527,"author":{"gitId":"sopa301"},"content":" \"node_modules/psl\": {","isFullCredit":false},{"lineNumber":1528,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.9.0\",","isFullCredit":false},{"lineNumber":1529,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",","isFullCredit":false},{"lineNumber":1530,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\",","isFullCredit":false},{"lineNumber":1531,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1532,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1533,"author":{"gitId":"sopa301"},"content":" \"node_modules/pump\": {","isFullCredit":false},{"lineNumber":1534,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1535,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1536,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\",","isFullCredit":false},{"lineNumber":1537,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1538,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1539,"author":{"gitId":"sopa301"},"content":" \"end-of-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":1540,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":1541,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1542,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1543,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode\": {","isFullCredit":false},{"lineNumber":1544,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":1545,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":1546,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1547,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1548,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1549,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1550,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1551,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1552,"author":{"gitId":"sopa301"},"content":" \"node_modules/qs\": {","isFullCredit":false},{"lineNumber":1553,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.10.4\",","isFullCredit":false},{"lineNumber":1554,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\",","isFullCredit":false},{"lineNumber":1555,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1556,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1557,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1558,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":1559,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1560,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1561,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.6\"","isFullCredit":false},{"lineNumber":1562,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1563,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1564,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1565,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1566,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1567,"author":{"gitId":"sopa301"},"content":" \"node_modules/querystringify\": {","isFullCredit":false},{"lineNumber":1568,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":1569,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":1570,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1571,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1572,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1573,"author":{"gitId":"sopa301"},"content":" \"node_modules/request-progress\": {","isFullCredit":false},{"lineNumber":1574,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1575,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1576,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1577,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1578,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1579,"author":{"gitId":"sopa301"},"content":" \"throttleit\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":1580,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1581,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1582,"author":{"gitId":"sopa301"},"content":" \"node_modules/requires-port\": {","isFullCredit":false},{"lineNumber":1583,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1584,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1585,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1586,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1587,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1588,"author":{"gitId":"sopa301"},"content":" \"node_modules/restore-cursor\": {","isFullCredit":false},{"lineNumber":1589,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":1590,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":1591,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1592,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1593,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1594,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":1595,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":1596,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1597,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1598,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1599,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1600,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1601,"author":{"gitId":"sopa301"},"content":" \"node_modules/rfdc\": {","isFullCredit":false},{"lineNumber":1602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":1603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":1604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1605,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1606,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1607,"author":{"gitId":"sopa301"},"content":" \"node_modules/rimraf\": {","isFullCredit":false},{"lineNumber":1608,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":1609,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":1610,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1611,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1612,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1613,"author":{"gitId":"sopa301"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1616,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"bin.js\"","isFullCredit":false},{"lineNumber":1617,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1618,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1619,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":1620,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1621,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1622,"author":{"gitId":"sopa301"},"content":" \"node_modules/rxjs\": {","isFullCredit":false},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.8.1\",","isFullCredit":false},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\",","isFullCredit":false},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1626,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1627,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"tslib\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1631,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":1632,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":1633,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",","isFullCredit":false},{"lineNumber":1634,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1649,"author":{"gitId":"sopa301"},"content":" ]","isFullCredit":false},{"lineNumber":1650,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1651,"author":{"gitId":"sopa301"},"content":" \"node_modules/safer-buffer\": {","isFullCredit":false},{"lineNumber":1652,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":1653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":1654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1655,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1657,"author":{"gitId":"sopa301"},"content":" \"node_modules/semver\": {","isFullCredit":false},{"lineNumber":1658,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.4\",","isFullCredit":false},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",","isFullCredit":false},{"lineNumber":1660,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1663,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1664,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1665,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1666,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":1667,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1668,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1669,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1670,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1672,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":1673,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1675,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1676,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1678,"author":{"gitId":"sopa301"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1679,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":1685,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" \"node_modules/side-channel\": {","isFullCredit":false},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"node_modules/signal-exit\": {","isFullCredit":false},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.7\",","isFullCredit":false},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",","isFullCredit":false},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1717,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1725,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1726,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" \"node_modules/sshpk\": {","isFullCredit":false},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.17.0\",","isFullCredit":false},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\",","isFullCredit":false},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1733,"author":{"gitId":"sopa301"},"content":" \"asn1\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":1734,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1735,"author":{"gitId":"sopa301"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"dashdash\": \"^1.12.0\",","isFullCredit":false},{"lineNumber":1737,"author":{"gitId":"sopa301"},"content":" \"ecc-jsbn\": \"~0.1.1\",","isFullCredit":false},{"lineNumber":1738,"author":{"gitId":"sopa301"},"content":" \"getpass\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"~0.14.0\"","isFullCredit":false},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1743,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1744,"author":{"gitId":"sopa301"},"content":" \"sshpk-conv\": \"bin/sshpk-conv\",","isFullCredit":false},{"lineNumber":1745,"author":{"gitId":"sopa301"},"content":" \"sshpk-sign\": \"bin/sshpk-sign\",","isFullCredit":false},{"lineNumber":1746,"author":{"gitId":"sopa301"},"content":" \"sshpk-verify\": \"bin/sshpk-verify\"","isFullCredit":false},{"lineNumber":1747,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1748,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1749,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":1750,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1752,"author":{"gitId":"sopa301"},"content":" \"node_modules/string-width\": {","isFullCredit":false},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",","isFullCredit":false},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":1759,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":1760,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1763,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1764,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":1773,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1774,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1775,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1777,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-final-newline\": {","isFullCredit":false},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1783,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1793,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1796,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1797,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1800,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1801,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1802,"author":{"gitId":"sopa301"},"content":" \"node_modules/throttleit\": {","isFullCredit":false},{"lineNumber":1803,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":1804,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1806,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1807,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"node_modules/through\": {","isFullCredit":false},{"lineNumber":1809,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.8\",","isFullCredit":false},{"lineNumber":1810,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\",","isFullCredit":false},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1812,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1813,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1814,"author":{"gitId":"sopa301"},"content":" \"node_modules/tmp\": {","isFullCredit":false},{"lineNumber":1815,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":1816,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\",","isFullCredit":false},{"lineNumber":1817,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1819,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1820,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":1821,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1822,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.17.0\"","isFullCredit":false},{"lineNumber":1824,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1825,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1826,"author":{"gitId":"sopa301"},"content":" \"node_modules/tough-cookie\": {","isFullCredit":false},{"lineNumber":1827,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":1828,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":1829,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"psl\": \"^1.1.33\",","isFullCredit":false},{"lineNumber":1833,"author":{"gitId":"sopa301"},"content":" \"punycode\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":1834,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"url-parse\": \"^1.5.3\"","isFullCredit":false},{"lineNumber":1836,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1837,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1838,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1839,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1840,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1841,"author":{"gitId":"sopa301"},"content":" \"node_modules/tslib\": {","isFullCredit":false},{"lineNumber":1842,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\",","isFullCredit":false},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1845,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1847,"author":{"gitId":"sopa301"},"content":" \"node_modules/tunnel-agent\": {","isFullCredit":false},{"lineNumber":1848,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":1849,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",","isFullCredit":false},{"lineNumber":1850,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1851,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1852,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":1854,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1855,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1856,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1858,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1859,"author":{"gitId":"sopa301"},"content":" \"node_modules/tweetnacl\": {","isFullCredit":false},{"lineNumber":1860,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.14.5\",","isFullCredit":false},{"lineNumber":1861,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",","isFullCredit":false},{"lineNumber":1862,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1863,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1864,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1865,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.21.3\",","isFullCredit":false},{"lineNumber":1867,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",","isFullCredit":false},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1870,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1871,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1873,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1876,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1877,"author":{"gitId":"sopa301"},"content":" \"node_modules/universalify\": {","isFullCredit":false},{"lineNumber":1878,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",","isFullCredit":false},{"lineNumber":1880,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1882,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1883,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":1884,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1885,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1886,"author":{"gitId":"sopa301"},"content":" \"node_modules/untildify\": {","isFullCredit":false},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1888,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1889,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1890,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1891,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1892,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1893,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1894,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1895,"author":{"gitId":"sopa301"},"content":" \"node_modules/url-parse\": {","isFullCredit":false},{"lineNumber":1896,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.10\",","isFullCredit":false},{"lineNumber":1897,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",","isFullCredit":false},{"lineNumber":1898,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1901,"author":{"gitId":"sopa301"},"content":" \"querystringify\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"requires-port\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":1903,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1904,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1905,"author":{"gitId":"sopa301"},"content":" \"node_modules/uuid\": {","isFullCredit":false},{"lineNumber":1906,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.3.2\",","isFullCredit":false},{"lineNumber":1907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",","isFullCredit":false},{"lineNumber":1908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\",","isFullCredit":false},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1910,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"dist/bin/uuid\"","isFullCredit":false},{"lineNumber":1912,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1913,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1914,"author":{"gitId":"sopa301"},"content":" \"node_modules/verror\": {","isFullCredit":false},{"lineNumber":1915,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.10.0\",","isFullCredit":false},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",","isFullCredit":false},{"lineNumber":1917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1918,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1919,"author":{"gitId":"sopa301"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":1922,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1923,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1924,"author":{"gitId":"sopa301"},"content":" \"core-util-is\": \"1.0.2\",","isFullCredit":false},{"lineNumber":1925,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":1926,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1928,"author":{"gitId":"sopa301"},"content":" \"node_modules/which\": {","isFullCredit":false},{"lineNumber":1929,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":1931,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1932,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1933,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":1935,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1936,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":1937,"author":{"gitId":"sopa301"},"content":" \"node-which\": \"bin/node-which\"","isFullCredit":false},{"lineNumber":1938,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1939,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1940,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1942,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":1944,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":1945,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1947,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1948,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":1950,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1951,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":1952,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1953,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":1955,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1957,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":1958,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1959,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1960,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrappy\": {","isFullCredit":false},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":1962,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":1963,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1964,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1966,"author":{"gitId":"sopa301"},"content":" \"node_modules/yallist\": {","isFullCredit":false},{"lineNumber":1967,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1968,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1969,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":1970,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":1971,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1972,"author":{"gitId":"sopa301"},"content":" \"node_modules/yauzl\": {","isFullCredit":false},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.0\",","isFullCredit":false},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\",","isFullCredit":false},{"lineNumber":1975,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":1976,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1977,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1978,"author":{"gitId":"sopa301"},"content":" \"buffer-crc32\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"fd-slicer\": \"~1.1.0\"","isFullCredit":false},{"lineNumber":1980,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1981,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1982,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1983,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"@colors/colors\": {","isFullCredit":false},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":1986,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\",","isFullCredit":false},{"lineNumber":1987,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1989,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"@cypress/request\": {","isFullCredit":false},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":1993,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":1994,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"aws-sign2\": \"~0.7.0\",","isFullCredit":false},{"lineNumber":1998,"author":{"gitId":"-"},"content":" \"aws4\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"caseless\": \"~0.12.0\",","isFullCredit":false},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"combined-stream\": \"~1.0.6\",","isFullCredit":false},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"extend\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":2002,"author":{"gitId":"-"},"content":" \"forever-agent\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"form-data\": \"~2.3.2\",","isFullCredit":false},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"http-signature\": \"~1.3.6\",","isFullCredit":false},{"lineNumber":2005,"author":{"gitId":"-"},"content":" \"is-typedarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":2006,"author":{"gitId":"-"},"content":" \"isstream\": \"~0.1.2\",","isFullCredit":false},{"lineNumber":2007,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": \"~5.0.1\",","isFullCredit":false},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.19\",","isFullCredit":false},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"performance-now\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":2010,"author":{"gitId":"-"},"content":" \"qs\": \"6.10.4\",","isFullCredit":false},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"tough-cookie\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":2013,"author":{"gitId":"-"},"content":" \"tunnel-agent\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":2014,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\"","isFullCredit":false},{"lineNumber":2015,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2016,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": {","isFullCredit":false},{"lineNumber":2018,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\",","isFullCredit":false},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2021,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2022,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"debug\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"lodash.once\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":2025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2026,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"debug\": {","isFullCredit":false},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":2029,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",","isFullCredit":false},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2031,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":2034,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2035,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2036,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2038,"author":{"gitId":"-"},"content":" \"@types/node\": {","isFullCredit":false},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"version\": \"18.18.3\",","isFullCredit":false},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\",","isFullCredit":false},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": {","isFullCredit":false},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":2047,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":2048,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2049,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"@types/sizzle\": {","isFullCredit":false},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\",","isFullCredit":false},{"lineNumber":2053,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\",","isFullCredit":false},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\",","isFullCredit":false},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2056,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"@types/yauzl\": {","isFullCredit":false},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"version\": \"2.10.1\",","isFullCredit":false},{"lineNumber":2059,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\",","isFullCredit":false},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2062,"author":{"gitId":"-"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2064,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"aggregate-error\": {","isFullCredit":false},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":2070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2073,"author":{"gitId":"-"},"content":" \"clean-stack\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"indent-string\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2075,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2076,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"ansi-colors\": {","isFullCredit":false},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":2079,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2082,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"ansi-escapes\": {","isFullCredit":false},{"lineNumber":2084,"author":{"gitId":"-"},"content":" \"version\": \"4.3.2\",","isFullCredit":false},{"lineNumber":2085,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",","isFullCredit":false},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2088,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.21.3\"","isFullCredit":false},{"lineNumber":2090,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2091,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2092,"author":{"gitId":"-"},"content":" \"ansi-regex\": {","isFullCredit":false},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2096,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2097,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"ansi-styles\": {","isFullCredit":false},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2102,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2103,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2105,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2106,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2107,"author":{"gitId":"-"},"content":" \"arch\": {","isFullCredit":false},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":2110,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"asn1\": {","isFullCredit":false},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"version\": \"0.2.6\",","isFullCredit":false},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\",","isFullCredit":false},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"~2.1.0\"","isFullCredit":false},{"lineNumber":2120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2121,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"assert-plus\": {","isFullCredit":false},{"lineNumber":2123,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"astral-regex\": {","isFullCredit":false},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2133,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"async\": {","isFullCredit":false},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"version\": \"3.2.4\",","isFullCredit":false},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\",","isFullCredit":false},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2140,"author":{"gitId":"-"},"content":" \"asynckit\": {","isFullCredit":false},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"at-least-node\": {","isFullCredit":false},{"lineNumber":2147,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2150,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"aws-sign2\": {","isFullCredit":false},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"0.7.0\",","isFullCredit":false},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",","isFullCredit":false},{"lineNumber":2155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2157,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"aws4\": {","isFullCredit":false},{"lineNumber":2159,"author":{"gitId":"-"},"content":" \"version\": \"1.12.0\",","isFullCredit":false},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\",","isFullCredit":false},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"balanced-match\": {","isFullCredit":false},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2167,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2169,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2170,"author":{"gitId":"-"},"content":" \"base64-js\": {","isFullCredit":false},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\",","isFullCredit":false},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\",","isFullCredit":false},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": {","isFullCredit":false},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2178,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"^0.14.3\"","isFullCredit":false},{"lineNumber":2183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"blob-util\": {","isFullCredit":false},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2190,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"bluebird\": {","isFullCredit":false},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\",","isFullCredit":false},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",","isFullCredit":false},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"brace-expansion\": {","isFullCredit":false},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",","isFullCredit":false},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2201,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2204,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":2205,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"buffer\": {","isFullCredit":false},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\",","isFullCredit":false},{"lineNumber":2209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\",","isFullCredit":false},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":2214,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":2215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"buffer-crc32\": {","isFullCredit":false},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"version\": \"0.2.13\",","isFullCredit":false},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\",","isFullCredit":false},{"lineNumber":2220,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"cachedir\": {","isFullCredit":false},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":2225,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\",","isFullCredit":false},{"lineNumber":2226,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2228,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"call-bind\": {","isFullCredit":false},{"lineNumber":2230,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2231,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2235,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":2237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2238,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"caseless\": {","isFullCredit":false},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\",","isFullCredit":false},{"lineNumber":2241,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",","isFullCredit":false},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"chalk\": {","isFullCredit":false},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":2247,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":2248,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2250,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2251,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2252,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":2253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":2258,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2259,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2261,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"check-more-types\": {","isFullCredit":false},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"version\": \"2.24.0\",","isFullCredit":false},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\",","isFullCredit":false},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2270,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2271,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"ci-info\": {","isFullCredit":false},{"lineNumber":2273,"author":{"gitId":"-"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":2274,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"clean-stack\": {","isFullCredit":false},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":2281,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"cli-cursor\": {","isFullCredit":false},{"lineNumber":2285,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2286,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":2287,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2290,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\"","isFullCredit":false},{"lineNumber":2291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"cli-table3\": {","isFullCredit":false},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\",","isFullCredit":false},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2298,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"@colors/colors\": \"1.5.0\",","isFullCredit":false},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":2301,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2302,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"cli-truncate\": {","isFullCredit":false},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2305,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":2311,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2312,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"color-convert\": {","isFullCredit":false},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2315,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2316,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2317,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2318,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":2320,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2322,"author":{"gitId":"-"},"content":" \"color-name\": {","isFullCredit":false},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":2324,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2327,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"colorette\": {","isFullCredit":false},{"lineNumber":2329,"author":{"gitId":"-"},"content":" \"version\": \"2.0.20\",","isFullCredit":false},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",","isFullCredit":false},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2333,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2334,"author":{"gitId":"-"},"content":" \"combined-stream\": {","isFullCredit":false},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"version\": \"1.0.8\",","isFullCredit":false},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",","isFullCredit":false},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2340,"author":{"gitId":"-"},"content":" \"delayed-stream\": \"~1.0.0\"","isFullCredit":false},{"lineNumber":2341,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"commander\": {","isFullCredit":false},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2347,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2348,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"common-tags\": {","isFullCredit":false},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"version\": \"1.8.2\",","isFullCredit":false},{"lineNumber":2351,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",","isFullCredit":false},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2354,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2355,"author":{"gitId":"-"},"content":" \"concat-map\": {","isFullCredit":false},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",","isFullCredit":false},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2359,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2361,"author":{"gitId":"-"},"content":" \"core-util-is\": {","isFullCredit":false},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2363,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":2364,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2365,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2366,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"cross-spawn\": {","isFullCredit":false},{"lineNumber":2368,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",","isFullCredit":false},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2371,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2372,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2376,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"cypress\": {","isFullCredit":false},{"lineNumber":2379,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\",","isFullCredit":false},{"lineNumber":2380,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\",","isFullCredit":false},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"@cypress/request\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\",","isFullCredit":false},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"@types/sizzle\": \"^2.3.2\",","isFullCredit":false},{"lineNumber":2388,"author":{"gitId":"-"},"content":" \"arch\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":2389,"author":{"gitId":"-"},"content":" \"blob-util\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\",","isFullCredit":false},{"lineNumber":2391,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\",","isFullCredit":false},{"lineNumber":2392,"author":{"gitId":"-"},"content":" \"cachedir\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"check-more-types\": \"^2.24.0\",","isFullCredit":false},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2396,"author":{"gitId":"-"},"content":" \"cli-table3\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"commander\": \"^6.2.1\",","isFullCredit":false},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"common-tags\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"dayjs\": \"^1.10.4\",","isFullCredit":false},{"lineNumber":2400,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"enquirer\": \"^2.3.6\",","isFullCredit":false},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"eventemitter2\": \"6.4.7\",","isFullCredit":false},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"execa\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2404,"author":{"gitId":"-"},"content":" \"executable\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"extract-zip\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"figures\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\",","isFullCredit":false},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"getos\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":2409,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"is-installed-globally\": \"~0.4.0\",","isFullCredit":false},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"lazy-ass\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"listr2\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":2413,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"ospath\": \"^1.2.2\",","isFullCredit":false},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"pretty-bytes\": \"^5.6.0\",","isFullCredit":false},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"process\": \"^0.11.10\",","isFullCredit":false},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"proxy-from-env\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"request-progress\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.3\",","isFullCredit":false},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.1.1\",","isFullCredit":false},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"tmp\": \"~0.2.1\",","isFullCredit":false},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"untildify\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":2426,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2427,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"dashdash\": {","isFullCredit":false},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\",","isFullCredit":false},{"lineNumber":2430,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",","isFullCredit":false},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2433,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2434,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2435,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2436,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"dayjs\": {","isFullCredit":false},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"version\": \"1.11.10\",","isFullCredit":false},{"lineNumber":2439,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\",","isFullCredit":false},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2442,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"debug\": {","isFullCredit":false},{"lineNumber":2444,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":2445,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",","isFullCredit":false},{"lineNumber":2446,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2449,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":2450,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2452,"author":{"gitId":"-"},"content":" \"ms\": {","isFullCredit":false},{"lineNumber":2453,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2456,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"delayed-stream\": {","isFullCredit":false},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2462,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2464,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2465,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2466,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": {","isFullCredit":false},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":2468,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":2474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"emoji-regex\": {","isFullCredit":false},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":2479,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2481,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2482,"author":{"gitId":"-"},"content":" \"end-of-stream\": {","isFullCredit":false},{"lineNumber":2483,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\",","isFullCredit":false},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\",","isFullCredit":false},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2486,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2487,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2488,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":2489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2490,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2491,"author":{"gitId":"-"},"content":" \"enquirer\": {","isFullCredit":false},{"lineNumber":2492,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\",","isFullCredit":false},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"ansi-colors\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": {","isFullCredit":false},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",","isFullCredit":false},{"lineNumber":2504,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"eventemitter2\": {","isFullCredit":false},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"version\": \"6.4.7\",","isFullCredit":false},{"lineNumber":2509,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\",","isFullCredit":false},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2512,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"execa\": {","isFullCredit":false},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2518,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"human-signals\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2525,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":2526,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2528,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2529,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2530,"author":{"gitId":"-"},"content":" \"executable\": {","isFullCredit":false},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2534,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"pify\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":2537,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2539,"author":{"gitId":"-"},"content":" \"extend\": {","isFullCredit":false},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":2541,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":2542,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2543,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2545,"author":{"gitId":"-"},"content":" \"extract-zip\": {","isFullCredit":false},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2549,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2551,"author":{"gitId":"-"},"content":" \"@types/yauzl\": \"^2.9.1\",","isFullCredit":false},{"lineNumber":2552,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\"","isFullCredit":false},{"lineNumber":2555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2556,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"extsprintf\": {","isFullCredit":false},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"fd-slicer\": {","isFullCredit":false},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\",","isFullCredit":false},{"lineNumber":2566,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2569,"author":{"gitId":"-"},"content":" \"pend\": \"~1.2.0\"","isFullCredit":false},{"lineNumber":2570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2571,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"figures\": {","isFullCredit":false},{"lineNumber":2573,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\",","isFullCredit":false},{"lineNumber":2575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2578,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":2579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2580,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"forever-agent\": {","isFullCredit":false},{"lineNumber":2582,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":2583,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",","isFullCredit":false},{"lineNumber":2584,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2586,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2587,"author":{"gitId":"-"},"content":" \"form-data\": {","isFullCredit":false},{"lineNumber":2588,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",","isFullCredit":false},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2592,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2593,"author":{"gitId":"-"},"content":" \"asynckit\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":2594,"author":{"gitId":"-"},"content":" \"combined-stream\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":2595,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.12\"","isFullCredit":false},{"lineNumber":2596,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2597,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"fs-extra\": {","isFullCredit":false},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",","isFullCredit":false},{"lineNumber":2601,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2605,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":2606,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2610,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2613,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2615,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2616,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2617,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2618,"author":{"gitId":"-"},"content":" \"fs.realpath\": {","isFullCredit":false},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2622,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"function-bind\": {","isFullCredit":false},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":2627,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"get-intrinsic\": {","isFullCredit":false},{"lineNumber":2631,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2632,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2636,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"has\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":2640,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"get-stream\": {","isFullCredit":false},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\",","isFullCredit":false},{"lineNumber":2645,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":2649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2651,"author":{"gitId":"-"},"content":" \"getos\": {","isFullCredit":false},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2656,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2657,"author":{"gitId":"-"},"content":" \"async\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":2658,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2659,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2660,"author":{"gitId":"-"},"content":" \"getpass\": {","isFullCredit":false},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\",","isFullCredit":false},{"lineNumber":2662,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",","isFullCredit":false},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\",","isFullCredit":false},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2665,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2666,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"glob\": {","isFullCredit":false},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":2671,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",","isFullCredit":false},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":2673,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":2681,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2682,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2683,"author":{"gitId":"-"},"content":" \"global-dirs\": {","isFullCredit":false},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2687,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"ini\": \"2.0.0\"","isFullCredit":false},{"lineNumber":2690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"graceful-fs\": {","isFullCredit":false},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"version\": \"4.2.11\",","isFullCredit":false},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",","isFullCredit":false},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2696,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2697,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2698,"author":{"gitId":"-"},"content":" \"has\": {","isFullCredit":false},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2703,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"has-flag\": {","isFullCredit":false},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2706,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"has-proto\": {","isFullCredit":false},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2715,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"has-symbols\": {","isFullCredit":false},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",","isFullCredit":false},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2721,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"http-signature\": {","isFullCredit":false},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"version\": \"1.3.6\",","isFullCredit":false},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\",","isFullCredit":false},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"jsprim\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"sshpk\": \"^1.14.1\"","isFullCredit":false},{"lineNumber":2731,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"human-signals\": {","isFullCredit":false},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\",","isFullCredit":false},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2737,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2738,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"ieee754\": {","isFullCredit":false},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":2741,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\",","isFullCredit":false},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"indent-string\": {","isFullCredit":false},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2748,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"inflight\": {","isFullCredit":false},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":2753,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",","isFullCredit":false},{"lineNumber":2754,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":2759,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2760,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"inherits\": {","isFullCredit":false},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",","isFullCredit":false},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2767,"author":{"gitId":"-"},"content":" \"ini\": {","isFullCredit":false},{"lineNumber":2768,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2771,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"is-ci\": {","isFullCredit":false},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"ci-info\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":2780,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2781,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"is-installed-globally\": {","isFullCredit":false},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2791,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"global-dirs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":2796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"is-path-inside\": {","isFullCredit":false},{"lineNumber":2799,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2803,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"is-stream\": {","isFullCredit":false},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2806,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2808,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2809,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"is-typedarray\": {","isFullCredit":false},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2812,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2815,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": {","isFullCredit":false},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":2818,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\",","isFullCredit":false},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"isexe\": {","isFullCredit":false},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"isstream\": {","isFullCredit":false},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",","isFullCredit":false},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2833,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2834,"author":{"gitId":"-"},"content":" \"jsbn\": {","isFullCredit":false},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",","isFullCredit":false},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2839,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2840,"author":{"gitId":"-"},"content":" \"json-schema\": {","isFullCredit":false},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",","isFullCredit":false},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": {","isFullCredit":false},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2851,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2852,"author":{"gitId":"-"},"content":" \"jsonfile\": {","isFullCredit":false},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",","isFullCredit":false},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2856,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\",","isFullCredit":false},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":2860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2867,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2868,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2869,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"jsprim\": {","isFullCredit":false},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":2872,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"assert-plus\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2877,"author":{"gitId":"-"},"content":" \"extsprintf\": \"1.3.0\",","isFullCredit":false},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"json-schema\": \"0.4.0\",","isFullCredit":false},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"verror\": \"1.10.0\"","isFullCredit":false},{"lineNumber":2880,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2882,"author":{"gitId":"-"},"content":" \"lazy-ass\": {","isFullCredit":false},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":2884,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\",","isFullCredit":false},{"lineNumber":2885,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2886,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2887,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"listr2\": {","isFullCredit":false},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"version\": \"3.14.0\",","isFullCredit":false},{"lineNumber":2890,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\",","isFullCredit":false},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2893,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"cli-truncate\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.16\",","isFullCredit":false},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"log-update\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"p-map\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2898,"author":{"gitId":"-"},"content":" \"rfdc\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":2899,"author":{"gitId":"-"},"content":" \"rxjs\": \"^7.5.1\",","isFullCredit":false},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"through\": \"^2.3.8\",","isFullCredit":false},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":2902,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"lodash\": {","isFullCredit":false},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",","isFullCredit":false},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2908,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"lodash.once\": {","isFullCredit":false},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\",","isFullCredit":false},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2915,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"log-symbols\": {","isFullCredit":false},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":2924,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2925,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"log-update\": {","isFullCredit":false},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2935,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^6.2.0\"","isFullCredit":false},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"slice-ansi\": {","isFullCredit":false},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2941,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2942,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":2947,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2948,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {","isFullCredit":false},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"version\": \"6.2.0\",","isFullCredit":false},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\",","isFullCredit":false},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":2958,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2959,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2960,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2961,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"lru-cache\": {","isFullCredit":false},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2969,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2971,"author":{"gitId":"-"},"content":" \"merge-stream\": {","isFullCredit":false},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2973,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2976,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2977,"author":{"gitId":"-"},"content":" \"mime-db\": {","isFullCredit":false},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",","isFullCredit":false},{"lineNumber":2980,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2982,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2983,"author":{"gitId":"-"},"content":" \"mime-types\": {","isFullCredit":false},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":2985,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",","isFullCredit":false},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":2990,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"mimic-fn\": {","isFullCredit":false},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":2995,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2997,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"minimatch\": {","isFullCredit":false},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",","isFullCredit":false},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3003,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":3005,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"minimist\": {","isFullCredit":false},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",","isFullCredit":false},{"lineNumber":3010,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3012,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"ms\": {","isFullCredit":false},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",","isFullCredit":false},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"npm-run-path\": {","isFullCredit":false},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3026,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3027,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"object-inspect\": {","isFullCredit":false},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"version\": \"1.12.3\",","isFullCredit":false},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\",","isFullCredit":false},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"once\": {","isFullCredit":false},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",","isFullCredit":false},{"lineNumber":3037,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":3041,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3042,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"onetime\": {","isFullCredit":false},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",","isFullCredit":false},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":3050,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3051,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"ospath\": {","isFullCredit":false},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\",","isFullCredit":false},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3057,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"p-map\": {","isFullCredit":false},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"aggregate-error\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"path-is-absolute\": {","isFullCredit":false},{"lineNumber":3068,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",","isFullCredit":false},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3071,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3072,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"path-key\": {","isFullCredit":false},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",","isFullCredit":false},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3078,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"pend\": {","isFullCredit":false},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\",","isFullCredit":false},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3083,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3084,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"performance-now\": {","isFullCredit":false},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",","isFullCredit":false},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\",","isFullCredit":false},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"pify\": {","isFullCredit":false},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\",","isFullCredit":false},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3097,"author":{"gitId":"-"},"content":" \"pretty-bytes\": {","isFullCredit":false},{"lineNumber":3098,"author":{"gitId":"-"},"content":" \"version\": \"5.6.0\",","isFullCredit":false},{"lineNumber":3099,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",","isFullCredit":false},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"process\": {","isFullCredit":false},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"version\": \"0.11.10\",","isFullCredit":false},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\",","isFullCredit":false},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"proxy-from-env\": {","isFullCredit":false},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3111,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3115,"author":{"gitId":"-"},"content":" \"psl\": {","isFullCredit":false},{"lineNumber":3116,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\",","isFullCredit":false},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",","isFullCredit":false},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\",","isFullCredit":false},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3120,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"pump\": {","isFullCredit":false},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3124,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\",","isFullCredit":false},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3127,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":3128,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":3129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3130,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"punycode\": {","isFullCredit":false},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\",","isFullCredit":false},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"qs\": {","isFullCredit":false},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"version\": \"6.10.4\",","isFullCredit":false},{"lineNumber":3139,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\",","isFullCredit":false},{"lineNumber":3140,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":3144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"querystringify\": {","isFullCredit":false},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",","isFullCredit":false},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"request-progress\": {","isFullCredit":false},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"throttleit\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3160,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3161,"author":{"gitId":"-"},"content":" \"requires-port\": {","isFullCredit":false},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"restore-cursor\": {","isFullCredit":false},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\",","isFullCredit":false},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3172,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":3175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"rfdc\": {","isFullCredit":false},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":3180,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3182,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3183,"author":{"gitId":"-"},"content":" \"rimraf\": {","isFullCredit":false},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",","isFullCredit":false},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":3190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3191,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3192,"author":{"gitId":"-"},"content":" \"rxjs\": {","isFullCredit":false},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"version\": \"7.8.1\",","isFullCredit":false},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\",","isFullCredit":false},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":3199,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3200,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"safe-buffer\": {","isFullCredit":false},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",","isFullCredit":false},{"lineNumber":3204,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"safer-buffer\": {","isFullCredit":false},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",","isFullCredit":false},{"lineNumber":3210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3212,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3213,"author":{"gitId":"-"},"content":" \"semver\": {","isFullCredit":false},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"version\": \"7.5.4\",","isFullCredit":false},{"lineNumber":3215,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",","isFullCredit":false},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3219,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3220,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3221,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3222,"author":{"gitId":"-"},"content":" \"shebang-command\": {","isFullCredit":false},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3227,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3229,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"shebang-regex\": {","isFullCredit":false},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3235,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"side-channel\": {","isFullCredit":false},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\",","isFullCredit":false},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":3246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"signal-exit\": {","isFullCredit":false},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\",","isFullCredit":false},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",","isFullCredit":false},{"lineNumber":3251,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"slice-ansi\": {","isFullCredit":false},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3259,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3264,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"sshpk\": {","isFullCredit":false},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"version\": \"1.17.0\",","isFullCredit":false},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\",","isFullCredit":false},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"asn1\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"dashdash\": \"^1.12.0\",","isFullCredit":false},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": \"~0.1.1\",","isFullCredit":false},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"getpass\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\",","isFullCredit":false},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"~0.14.0\"","isFullCredit":false},{"lineNumber":3280,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3282,"author":{"gitId":"-"},"content":" \"string-width\": {","isFullCredit":false},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",","isFullCredit":false},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3287,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3290,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":3291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"strip-ansi\": {","isFullCredit":false},{"lineNumber":3294,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":3295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3298,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3300,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3301,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"strip-final-newline\": {","isFullCredit":false},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3304,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",","isFullCredit":false},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3315,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3316,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3317,"author":{"gitId":"-"},"content":" \"throttleit\": {","isFullCredit":false},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":3319,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":3320,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3321,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3322,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"through\": {","isFullCredit":false},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"version\": \"2.3.8\",","isFullCredit":false},{"lineNumber":3325,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\",","isFullCredit":false},{"lineNumber":3326,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"tmp\": {","isFullCredit":false},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\",","isFullCredit":false},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":3336,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"tough-cookie\": {","isFullCredit":false},{"lineNumber":3339,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":3340,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\",","isFullCredit":false},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3344,"author":{"gitId":"-"},"content":" \"psl\": \"^1.1.33\",","isFullCredit":false},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"universalify\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":3347,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.3\"","isFullCredit":false},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3350,"author":{"gitId":"-"},"content":" \"tslib\": {","isFullCredit":false},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\",","isFullCredit":false},{"lineNumber":3353,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3355,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"tunnel-agent\": {","isFullCredit":false},{"lineNumber":3357,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":3358,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",","isFullCredit":false},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3360,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3361,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3362,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":3363,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3364,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3365,"author":{"gitId":"-"},"content":" \"tweetnacl\": {","isFullCredit":false},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"version\": \"0.14.5\",","isFullCredit":false},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",","isFullCredit":false},{"lineNumber":3368,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3369,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3370,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3371,"author":{"gitId":"-"},"content":" \"type-fest\": {","isFullCredit":false},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"version\": \"0.21.3\",","isFullCredit":false},{"lineNumber":3373,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",","isFullCredit":false},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\",","isFullCredit":false},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"universalify\": {","isFullCredit":false},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":3379,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",","isFullCredit":false},{"lineNumber":3380,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3383,"author":{"gitId":"-"},"content":" \"untildify\": {","isFullCredit":false},{"lineNumber":3384,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3385,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3388,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3389,"author":{"gitId":"-"},"content":" \"url-parse\": {","isFullCredit":false},{"lineNumber":3390,"author":{"gitId":"-"},"content":" \"version\": \"1.5.10\",","isFullCredit":false},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",","isFullCredit":false},{"lineNumber":3392,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3393,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"querystringify\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3397,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"uuid\": {","isFullCredit":false},{"lineNumber":3400,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\",","isFullCredit":false},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",","isFullCredit":false},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3403,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"verror\": {","isFullCredit":false},{"lineNumber":3406,"author":{"gitId":"-"},"content":" \"version\": \"1.10.0\",","isFullCredit":false},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",","isFullCredit":false},{"lineNumber":3408,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\",","isFullCredit":false},{"lineNumber":3409,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3410,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3411,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"core-util-is\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"extsprintf\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":3414,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3415,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"which\": {","isFullCredit":false},{"lineNumber":3417,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":3418,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",","isFullCredit":false},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3422,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3423,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3424,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3425,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {","isFullCredit":false},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":3428,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":3429,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":3432,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3434,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3435,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3436,"author":{"gitId":"-"},"content":" \"wrappy\": {","isFullCredit":false},{"lineNumber":3437,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3438,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",","isFullCredit":false},{"lineNumber":3439,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3440,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"yallist\": {","isFullCredit":false},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3444,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3445,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3446,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3448,"author":{"gitId":"-"},"content":" \"yauzl\": {","isFullCredit":false},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"version\": \"2.10.0\",","isFullCredit":false},{"lineNumber":3450,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\",","isFullCredit":false},{"lineNumber":3451,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\",","isFullCredit":false},{"lineNumber":3452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3453,"author":{"gitId":"-"},"content":" \"requires\": {","isFullCredit":false},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"buffer-crc32\": \"~0.2.3\",","isFullCredit":false},{"lineNumber":3455,"author":{"gitId":"-"},"content":" \"fd-slicer\": \"~1.1.0\"","isFullCredit":false},{"lineNumber":3456,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3459,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1987,"-":1472}},{"path":"frontend/cypress/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"scripts\": {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"tests\": \"cypress run --browser chrome\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"ci\": \"cypress run --env ci\u003dtrue --browser chrome\",","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"debug\": \"cypress open\"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":9}},{"path":"frontend/cypress/support.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// Disable screenshots","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"// https://docs.cypress.io/api/cypress-api/screenshot-api.html#Disable-screenshots-on-run-failures","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"Cypress.Screenshot.defaults({","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" screenshotOnRunFailure: false,","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"beforeEach(() \u003d\u003e {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.visit(\u0027/\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" cy.intercept({","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" method: \u0027GET\u0027,","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" url: \u0027/title.md\u0027,","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" }, \u0027# RepoSense Intro\u0027).as(\u0027getTitleMd\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":4,"-":10}},{"path":"frontend/cypress/tests/chartView/chartView_blurbs.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"describe(\u0027blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027shows blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" .first()","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027first blurb\u0027);","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027second blurb\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027contain\u0027, \u0027third blurb\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027has the correct number of valid blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" .should(\u0027have.length\u0027, 3);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027processes markdown in blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" .find(\u0027h1\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" .contains(\u0027second blurb in h1 tag\u0027);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" it(\u0027processes html in blurbs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" cy.get(\u0027.markdown.blurb\u0027)","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" .find(\u0027h2\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" .contains(\u0027third blurb in h2 markdown tag\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" });","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"});","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":34}},{"path":"frontend/cypress/tests/chartView/chartView_errorSummary_messageBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027error summary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027shows list of issues encountered while analyzing repos\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__message\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027The following issues occurred when analyzing the following repositories:\u0027;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--name\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--reason\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" it(\u0027can be expanded and collapsed if count \u003e 4\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 5);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":30,"jonasongg":20}},{"path":"frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by repos\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, only four merged repo groups will show","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 9 summary charts will show","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 9);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, 8 merged author groups will show","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 8);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 9 summary charts will show","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 9);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" it(\u0027merge group option should be disabled when group by none\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027be.disabled\u0027);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" it(\u0027should have the correct number of merge group contribution bars and correct length\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" // get the chart bars and assert they have the correct initial widths","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" const expectedWidths \u003d [100, 100, 20, 100, 100, 3, 20, 5];","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, expectedWidths.length)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .then(($bars) \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" // calculate the percentage of the width relative to the parent container","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" const parentWidth \u003d $bars.eq(0).parent().width();","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" expectedWidths.forEach((expectedWidth, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" const width \u003d (parseFloat(window.getComputedStyle($bars[index]).width) / parentWidth) * 100;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":" expect(width).to.be.closeTo(expectedWidth, 2);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027merge group contribution bars should have correct width after reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" const initialWidths \u003d [];","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // Store the initial widths of the contribution bars","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .each(($bar) \u003d\u003e {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" initialWidths.push(width);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" // Reload the page and wait for the loading div to disappear","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.overlay-loader\u0027).should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" // Get the contribution bars again and compare their widths with the initial widths","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, initialWidths.length)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .each(($bar, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" expect(width).to.equal(initialWidths[index]);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":91,"jonasongg":15}},{"path":"frontend/cypress/tests/chartView/chartView_optimiseTimeline.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027optimise timeline\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" it(\u0027ramp padding should only exist when optimise timeline is checked\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.not.checked\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.css\u0027, \u0027left\u0027, \u00270px\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.not.css\u0027, \u0027left\u0027, \u00270px\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":" it(\u0027should retain the same number of ramp slices\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding a\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":" const rampSlices \u003d $el.length;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .ramp .ramp-padding a\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, rampSlices);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" it(\u0027start and end date indicators should exist\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators span\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.text\u0027, \u00272018-05-03\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators span\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" // 3/3 on GitHub CI, 3/4 on local","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.text\u0027, \u00272023-03-03\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" it(\u0027no commits in range should not have date indicators\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" // change since date","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"since\"]\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u00272018-12-31\u0027);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" // change until date","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":" .type(\u00272019-01-01\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-charts .summary-chart\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__ramp .date-indicators\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" it(\u0027zoom panel range should work correctly when timeline is optimised\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" // verifies the ramp chart is not optimised and has empty space on the right","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp a\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027css\u0027, \u0027right\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" .then((val) \u003d\u003e parseFloat(val))","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .should(\u0027gt\u0027, 0);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" // verifies the date range is correctly optimised","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .period\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u00272018-05-03 to 2023-03-03\u0027);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":" // verifies the ramp chart is optimised and has no empty space on the right","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp a\u0027)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027css\u0027, \u0027right\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .then((val) \u003d\u003e parseFloat(val))","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .should(\u0027lt\u0027, 1);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" it(\u0027subzoom panel range should work correctly when timeline is optimised\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" .click(110, 20)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .click(120, 20);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .then((title) \u003d\u003e {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"jonasongg"},"content":" cy.wrap(title).should(\u0027eq\u0027, \u0027[2019-08-18] AboutUs: update team members (#867): +94 -12 lines \u0027);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":151}},{"path":"frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027scroll to active repo\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" // need to set scrollBehavior to false because the default behavior is to scroll the element into view","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a visible repo should not scroll\u0027, { scrollBehavior: false }, () \u003d\u003e {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" // close the error message box","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .first();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" let scrollTopOriginal \u003d 0;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" scrollTopOriginal \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.equal(scrollTopOriginal);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a non-visible repo should scroll\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.not.equal(0);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabAuthor\u003dyong24s\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabRepo\u003dreposense%2Fpublish-RepoSense%5Bmaster%5D\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" .last()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":62}},{"path":"frontend/cypress/tests/chartView/chartView_showTags.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" it(\u0027unchecked should not display any tags for a group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":" it(\u0027checked should display all tags for a group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" it(\u0027clicked should redirect to the correct tag page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-charts__title--tags\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027removeAttr\u0027, \u0027target\u0027) // to open in the same window","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" cy.origin(\u0027https://github.com\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" .should(\u0027equal\u0027, \u0027https://github.com/reposense/RepoSense/releases/tag/v1.0\u0027);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\u0027group by authors works with show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":" .select(\u0027title dsc\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .find(\u0027a\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 0);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" .find(\u0027a\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length.gt\u0027, 0);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" it(\u0027group by none works with show tags\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":" .check()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" const correctTags \u003d [];","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags\u0027)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e correctTags.push($tag.text().trim()))","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .each(($tag) \u003d\u003e {","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" expect(correctTags).to.include($tag.text().trim());","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.summary-chart__title--tags\u0027)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.tag\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, correctTags.length);","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"jonasongg"},"content":"});","isFullCredit":false}],"authorContributionMap":{"jonasongg":154}},{"path":"frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027search bar\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027non-existent author shows no result\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .type(\u0027abcdef\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .submit();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" const content \u003d $ele.html();","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" expect(content).to.be.empty;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027unique author shows one result\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .type(\u0027Metta\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .submit();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" const children \u003d $ele.children().length;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(children).to.equal(1);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching by non-existent tag shows no results\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: asdfghjkl\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in one author\u0027s commits shows one result\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.8\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.8\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in two authors\u0027 commits shows two results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.10\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .each(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.wrap($ele).click();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t start with \u0027tag:\u0027 prefix but still contains it shows no results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10 tag: v1.10\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t contain \u0027tag:\u0027 at all shows no results\", () \u003d\u003e {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching for multiple tags shows results containing all the tags searched\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: bb v1.10\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .submit();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027bb\u0027);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":31,"jonasongg":116}},{"path":"frontend/cypress/tests/chartView/chartView_zoomFeature.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const extractDate \u003d (str) \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" const regex \u003d /\\[(.*?)\\]/g;","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" const matches \u003d str.match(regex);","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" return new Date(matches[0].slice(1, -1));","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"};","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"describe(\u0027zoom features in code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" it(\u0027click on view commits button\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp when merge group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"// Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"describe(\u0027date changes in chart view should reflect in zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date range changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .type(\u00272018-06-11\u0027);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-06-11\u0027));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027yong24s\u0027 is the first result.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .type(\u0027yong24s\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .type(\u00272018-05-20\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-05-20\u0027));","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .type(\u00272019-08-19\u0027);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-19\u0027));","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027ongspxm\u0027 is the first result.","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" .type(\u0027ongspxm\u0027);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" .type(\u00272018-07-20\u0027);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272018-07-20\u0027));","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(\u00272018-08-27\u0027);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .type(\u00272019-03-09\u0027);","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-03-09\u0027));","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-08-27\u0027));","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .type(\u00272019-07-22\u0027);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .type(\u00272019-08-01\u0027);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-01\u0027));","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.wrap($element)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272019-07-22\u0027));","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"});","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"describe(\u0027range changes in chartview should reflect in zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"jonasongg"},"content":" const zoomKeyOption \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? { metaKey: true } : { ctrlKey: true };","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" it(\u0027selecting the initial righthand and lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"jonasongg"},"content":" .click(120, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"jonasongg"},"content":" .click(250, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"jonasongg"},"content":" .click(120, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-05-23] [#1241] Restore checked file types (#1256): +14 -1 lines \u0027);","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" it(\u0027changing the lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"jonasongg"},"content":" .click(250, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected.","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand and lefthand boundary\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027body\u0027)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"jonasongg"},"content":" .click(170, 20, zoomKeyOption)","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"jonasongg"},"content":" .click(225, 20, zoomKeyOption);","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" .should(","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0027eq\u0027,","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027,","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" );","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":335,"jonasongg":31}},{"path":"frontend/cypress/tests/codeView/codeView.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027at first start shows tutorial message\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-empty \u003e .title\u0027).then(($ele) \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027Welcome to this RepoSense report!\u0027","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" + \u0027The charts on the left show the contribution activities, grouped by repository and author.\u0027","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" + \"To view the code attributed to a specific author, click the    icon next to that author\u0027s name.\"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" + \"To view the breakdown of commits made by a specific author, click the    icon next to that author\u0027s name.\"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" + \u0027To hide the code view and show only the activity charts, click the    icon on the centre divider.\u0027","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" + \u0027See the  User Guide  to get a better understanding of how to interpret the report.\u0027;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" it(\u0027merge group and view code for entire repository\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .check({ force: true })","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":43,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_checkFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all files types are visible by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" it(\u0027uncheck all files types should show no files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option and not show legend\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027java\u0027);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":54,"jonasongg":3}},{"path":"frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"// Assumes: RepoSense repo from 03/05/2018 to current date","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"describe(\u0027code highlighting works properly\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" it(\u0027line numbers should all have the same colour\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-number\u0027) // this is just a wrapper","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" .children()","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" // The actual line number element. We can\u0027t name the class","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" // because it\u0027s generated by the code highlighter.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" .then((firstColor) \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-number\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" .each((el) \u003d\u003e cy.wrap(el)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" .children()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, firstColor));","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when there is a single author\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* Represents a Git Author.\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(191, 246, 207)\u0027); // #BFF6CF","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when multiple authors are merged in a repo group\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" .check()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* MUI Colors module\u0027) // eugenepeh","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(30, 144, 255, 0.314)\u0027) // #1e90ff, transparencyValue 50","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" .then((firstAuthorColor) \u003d\u003e {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" // eslint-disable-next-line quotes","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-content\u0027).contains(\"\u0027red\u0027: (\") // jamessspanggg","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" // #f08080, transparencyValue 50","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(240, 128, 128, 0.314)\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" .and(\u0027not.eq\u0027, firstAuthorColor);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" it(\u0027should not highlight non-attributed lines\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" .click();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-title\u0027).contains(\u0027Author\u0027)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" .parent() // .hljs-class","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" .parent() // .code","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(255, 255, 255)\u0027); // #ffffff","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":88,"-":4}},{"path":"frontend/cypress/tests/codeView/codeView_filterGlob.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027filter glob\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check filter glob radio button is clickable\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // click on filter glob radio button","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // filter by file type should be unchecked","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027check no filter glob input should show all file types by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should be in focus after click\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // click on input box","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .click()","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027have.focus\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should have default empty value\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by enter should show all file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // enter some input","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // submit some input","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" // delete previous input","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .clear();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // enter on empty input","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by clicking should show all file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .clear();","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" // click \u0027Filter\u0027 on empty input","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by enter should not show any files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // no file should be shown","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by clicking should not show any files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" it(\u0027check filter glob should only show files with that extension\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" // try java","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .type(\u0027*java\u0027);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027).then(($files) \u003d\u003e {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // check if there is any file with .java extension","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" if ($files.hasClass(\u0027path\u0027)) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" // check each file for .java extension","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" cy.get(\u0027.title \u003e .path \u003e span\u0027)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .then(($spans) \u003d\u003e {","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" $spans.toArray().forEach((span) \u003d\u003e {","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.wrap(span).contains(\u0027.java\u0027);","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":189,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_hideFileDetails.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all file details\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all file details hides the content of all the files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hide the details of all the files","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the contents of all the files should be hidden","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check details of one file are shown, rest are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" // should show \u0027show all file details\u0027 only","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027hide all file details\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" // open contents of the first file","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // should show both \u0027show/hide all file details\u0027","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027hide all file details\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // contents of the first file should be visible","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" // contents of the last file should be hidden","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" it(\u0027check file can be hidden after scrolling\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contents of the first file should be visible","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" // scroll some lines in the contents of the second file","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: 500, left: 0 } });","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // title of the second file should still be visible","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" // close contents of the second file","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // contents of the second file should not be visible","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // title of the second file should still be visible","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" // scroll some lines up from the top of the second file","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: -500, left: 0 } });","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" // title of the first file should be visible","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" it(\u0027check show all file details shows the content of all the files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // hide the content of all the files","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // show the content of all the files","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" it(\u0027check collapsed file persists after sort\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // hide contents of the first file","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .path\u0027)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" // keep track of first file by file path so test doesn\u0027t rely on correctness of sort","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((filePath) \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" // wait until loading is finished","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // contents of file should still be hidden","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" // wait until loading is finished","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" // contents of file should still be hidden","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":201,"jonasongg":5}},{"path":"frontend/cypress/tests/codeView/codeView_mergeGroupBlame.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group blame in code view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027no author breakdown shown by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // code panel should be visible","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // author breakdown should not be visible","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027merge group for group by repos shows author breakdown for each file\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // code panel should be visible","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // author breakdown should exist","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" it(\u0027author breakdown visible when file content hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" // hide content of all files","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // author breakdown should be visible","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" it(\u0027author breakdown contains only file authors in alphabetical order\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // author breakdown contains expected author count and order","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027eugenepeh\u0027, \u0027jamessspanggg\u0027, \u0027yamidark\u0027, \u0027yong24s\u0027];","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, expectedResult.length)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.wrap($el).should(\u0027contain\u0027, expectedResult[index]);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027authors are assigned the same color in all files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" // check first and second occurence of same author has the same color","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" const color \u003d $el.children().first().css(\u0027color\u0027);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .eq(1).children().first()","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027author name shown on segment hover for known authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" // author name in html title attribute should be shown","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027eugenepeh\u0027);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" it(\u0027author name shown as unknown for missing authors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" // author name in html title attribute should be unknown","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.untouched\u0027)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027Unknown\u0027);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" it(\u0027code segment has same color as author legend\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" // segment color should be the same as author legend color","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" const color \u003d $el.css(\u0027border-left-color\u0027);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" const author \u003d \u0027eugenepeh\u0027;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .contains(author)","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .prev()","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" it(\u0027colors in author breakdown match assigned colors\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" // group summary charts by repos","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // check merge group checkbox","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // author breakdown contains assigned colors","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027rgb(30, 144, 255)\u0027, \u0027rgb(240, 128, 128)\u0027, \u0027rgb(0, 255, 127)\u0027, \u0027rgb(255, 215, 0)\u0027];","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.wrap($el).children().first().should(\u0027have.css\u0027, \u0027color\u0027, expectedResult[index]);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":226,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Descending\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" // select radio-button","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":52,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_renderFilterHash.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027render filter hash\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027search: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027\u0027);","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" /* Enter search and test URL before and after reload */","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .type(\u0027eugene{enter}\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" it(\u0027group by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupByRepos\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByRepos\u0027);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" /* Select group by none and test URL before and after reload */","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /* Select group by authors and test URL before and after reload */","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027sort groups by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupTitle dsc\u0027);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle%20dsc\u0027);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .select(\u0027groupTitle\u0027);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027sort within groups by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027title\u0027);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .select(\u0027title dsc\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" it(\u0027granularity: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027commit\u0027);","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dcommit\u0027);","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" /* Select timeframe as day and test URL before and after reload */","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .select(\u0027day\u0027);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" /* Select timeframe as week and test URL before and after reload */","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" .select(\u0027week\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" it(\u0027since: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" /* Check initial state */","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u00272018-05-03\u0027);","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2018-05-03\u0027);","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" it(\u0027until: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /* Check initial state (will require dayjs for getting current date) */","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" // cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" // .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" // .should(\u0027eq\u0027, dayjs().format(\u0027YYYY-MM-DD\u0027));","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" // cy.url()","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" // .should(\u0027contain\u0027, \u0027date\u003d2023-07-06\u0027);","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" it(\u0027breakdown by file type: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" .check();","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" it(\u0027merge all groups: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" .check();","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"jonasongg"},"content":" it(\u0027show tags: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.show-tags input:visible\u0027)","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"jonasongg"},"content":" .check();","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027viewRepoTags\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027viewRepoTags\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"jonasongg"},"content":" it(\u0027optimise timeline: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary label.optimise-timeline input:visible\u0027)","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"jonasongg"},"content":" .check();","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027optimiseTimeline\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027optimiseTimeline\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" it(\u0027checked file types: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"jonasongg"},"content":" // Assumption: gradle is the first file type and yml is the last file type to appear in the list","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: sort by: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027authorshipSortBy\u0027);","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"jonasongg"},"content":" /* Select file name and test URL before and after reload */","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileName\u0027);","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"jonasongg"},"content":" /* Select file type and test URL before and after reload */","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileType\u0027);","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: order: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027true\u0027); // true is Descending","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027reverseAuthorshipOrder\u0027);","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"jonasongg"},"content":" /* Select ascending and test URL before and after reload */","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"jonasongg"},"content":" .select(\u0027false\u0027);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"jonasongg"},"content":" /* Select descending and test URL before and after reload */","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"jonasongg"},"content":" .select(\u0027true\u0027);","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"jonasongg"},"content":" });","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: filter by glob: url params should persist after change and reload\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"jonasongg"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"jonasongg"},"content":" .first()","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"jonasongg"},"content":" // click on filter glob radio button","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.radio-button--search\u0027)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"jonasongg"},"content":" .click();","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"jonasongg"},"content":" // enter some input","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"jonasongg"},"content":" .type(\u0027README.md\u0027);","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"jonasongg"},"content":" // submit","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"jonasongg"},"content":" // Some bugs appear after two reloads, so reload twice here","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"jonasongg"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"jonasongg"},"content":" cy.url()","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":339,"jonasongg":184}},{"path":"frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch authorship\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should restore all default controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch authorship view","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // check default controls","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027path\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should not retain information from previous visited tabs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" // Assumptions:","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // The first displayed file which the first and last person worked on is different.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" let firstAuthor;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" let firstFilename;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let lastAuthor;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // open the first code panel","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" firstFilename \u003d $span.text();","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // switch authorship view","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" const lastFilename \u003d $span.text();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(firstFilename, \u0027First displayed filenames should be different for different authors\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .to.not.equal(lastFilename);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":111,"jonasongg":4}},{"path":"frontend/cypress/tests/general/general.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027general\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027correctly replaces report title\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.title().should(\u0027eq\u0027, \u0027RepoSense Test Report\u0027);","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" it(\u0027correctly contains given title\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027h1\u0027).should(\u0027contain\u0027, \u0027RepoSense Intro\u0027);","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" });","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"sopa301":4,"-":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_diffstat.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027diffstat\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027should render container for contribution bars\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar-container\u0027)","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // `README: Fix grammatical error` with 1 insertion and 1 deletion.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027should render non-empty contribution bars for commits with changes\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270.1%\u0027);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270.1%\u0027);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" // `Merge branch \u0027new-branch` into cypress` with 0 insertions and 0 deletions.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" it(\u0027should render empty contribution bars for commits with no changes\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270%\u0027);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270%\u0027);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027should render contribution bars in proportion\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let insertionWidthSum \u003d 0;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" let deletionWidthSum \u003d 0;","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" let widthProportion \u003d 0;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar__contrib--bar\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c element.length; i +\u003d 1) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" const val \u003d parseFloat(element[i].style.width.split(\u0027%\u0027)[0]);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" if (element[i].style[\u0027background-color\u0027] \u003d\u003d\u003d \u0027limegreen\u0027) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" insertionWidthSum +\u003d val;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" deletionWidthSum +\u003d val;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" widthProportion \u003d insertionWidthSum / deletionWidthSum;","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" let insertions \u003d 0;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" let deletions \u003d 0;","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" let actualProportion \u003d 0;","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" cy.get(\u0027[data-cy\u003d\"changes\"]\u0027)","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .then((text) \u003d\u003e {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" const temp \u003d text.split(\u0027lines\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c temp.length - 1; i +\u003d 1) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" insertions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[0].split(\u0027+\u0027)[1].trim());","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" deletions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[1].trim());","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" actualProportion \u003d insertions / deletions;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" expect(widthProportion.toFixed(3)).to.be.equal(actualProportion.toFixed(3));","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":89,"jonasongg":4}},{"path":"frontend/cypress/tests/zoomView/zoomView_hideCommitMessages.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all commit messages \u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all commit messages hides the commit messages\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the messages of all the commits should be visible","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check show all commit messages show the commit messages\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // show the messages of all the commits","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027should only display hide all commit messages when none are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" // should only display \u0027hide all commit messages\u0027","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" it(\u0027should only display show all commit messages when all are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027should display both show and hide all commit messages when some are hidden\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" // hide the message body of the first commit","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" it(\u0027check show all and hide all commit messages only toggle current commits\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" // Assumptions: the fifth commit (19e3294) of the first author of the first repo","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" // contains changes in only .java files.","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" // uncheck java file type","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // hides all the commit messages","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check java file type","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .check()","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // commit body of the merge commit should be visible","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" // commit body of the md commit should not be visible","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" // commit body of the java commit should be visible","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .scrollIntoView()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .children()","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .eq(0)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" it(\u0027check hidden commit message persists after sort\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" // hide the message body of the first commit","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .hash\u0027)","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // keep track of first commit by hash so test doesn\u0027t rely on correctness of sort","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .then((hash) \u003d\u003e {","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select\u0027)","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" // message body should still be hidden","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" // message body should still be hidden","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":230,"jonasongg":7}},{"path":"frontend/cypress/tests/zoomView/zoomView_mergeCommits.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027include merge commits in zoom view\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027show merge commits when all file types selected\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commits panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is visible","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027hide merge commits when some file types unselected\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" // open the commits panel","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" // uncheck the java file type","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is not visible","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":28,"jonasongg":2}},{"path":"frontend/cypress/tests/zoomView/zoomView_rampChart.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027show ramp chart for period\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for all commits by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when date range changed\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when zooming\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // zoom into ramp on summary panel","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .click(10, 20)","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click(50, 20);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // commits panel should be visible","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // ramp chart should be visible","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027ramps should be between start date and end date\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" // first ramp should be for commit after start date","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2018-06-12] Setup AppVeyor CI (#142): +19 -0 lines \u0027);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" // last ramp should be for commit before end date","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-03-25] [#622] CsvParser#parse: fix error handling of `processLine` (#623): +30 -10 lines \u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" it(\u0027ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" // last ramp should have expected z-index","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027z-index\u0027, \u002739\u0027);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // last ramp should have expected width","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-left-width\u0027, \u00277px\u0027);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" // Assumptions: The second author on the summary panel","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" // should be \u0027jamessspanggg\u0027.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" it(\u0027deletes commit ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" // change since date","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" .type(\u00272019-07-16\u0027);","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .type(\u00272019-07-29\u0027);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" // deletes commit ramp should have expected color","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.get(\u0027[title\u003d\"[2019-07-24] [#828] Revert \\\\\"v_summary.js: remove redundant calls \u0027","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" + \u0027to getFiltered() (#800)\\\\\" (#832): +0 -9 lines \"]\u0027)","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.class\u0027, \u0027ramp__slice\u0027)","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-bottom\u0027, \u002748px solid rgba(244, 67, 54, 0.7)\u0027);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" it(\u0027merge commit ramp should have expected properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(\u00272024-03-04\u0027);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" // merge commit ramp should have expected color","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((border1) \u003d\u003e {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" .then((border2) \u003d\u003e {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" expect(border1).to.be.eq(border2);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" it(\u0027ramps from different days should have expected relative properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" expect(index1).to.be.gt(index2);","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" expect(distance1).to.be.lt(distance2);","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" it(\u0027ramps from the same day should have expected relative properties\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .type(\u00272023-03-04\u0027);","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" expect(index1).to.be.eq(index2);","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" .eq(1)","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" expect(distance1).to.be.gt(distance2);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027.","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" it(\u0027ramp should link to commit webpage\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" // change until date","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" // last ramp should have expected link","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027href\u0027)","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027https://github.com/reposense/RepoSense/commit/19e32944d4c67ed0b6bdc5697016536cc9e17ed9\u0027);","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":284,"jonasongg":9}},{"path":"frontend/cypress/tests/zoomView/zoomView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027);","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.reload();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":41,"jonasongg":1}},{"path":"frontend/cypress/tests/zoomView/zoomView_selectFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types \u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all file types are visible by default\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027, { timeout: 90000 })","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" it(\u0027uncheck all file types should show no files\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" .uncheck();","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Assumptions: the first author of the first repo","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" // committed .java, .js and .gradle files.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"js\"]\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027a commit should not be seen when all of its file types are unchecked\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: the third commit (19e3294) of the first author of the first repo","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" // contains changes in only .java files.","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" .eq(2)","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u002719e3294\u0027);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027java\u0027);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u002719e3294\u0027);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" it.only(\u0027unchecked file type label can still remain in a commit of multiple file types\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: the eighth commit (5ab0322) of the first author of the first repo","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contains changes in both .java and .md files.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(7)","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // note that the same commit is now of fourth order since other commits","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" // were filtered out","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(3)","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":105,"jonasongg":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch zoom\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should restore all default controls\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch zoom view","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027).scrollTo(\u0027top\u0027);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" // check default controls","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027linesOfCode\u0027)","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027time\u0027);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"java\"]\u0027)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"md\"]\u0027)","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"yml\"]\u0027)","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should not retain information from previous visited tabs\u0027, () \u003d\u003e {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" // Assumptions:","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" // The first day in which the first and last person contributed is different.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" let firstAuthor;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" let firstDay;","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" let lastAuthor;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // open the commit panel","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .then(($h3) \u003d\u003e {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" firstDay \u003d $h3.text();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" // switch zoom view","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .click();","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" .last()","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.url()","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" .first()","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(($h3) \u003d\u003e {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" const lastDay \u003d $h3.text();","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" expect(firstDay, \u0027First displayed date should be different for different authors by assumptions\u0027)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .to.not.equal(lastDay);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"});","isFullCredit":false}],"authorContributionMap":{"-":113,"jonasongg":4}},{"path":"frontend/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 3,","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"requires\": true,","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"packages\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"\": {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\",","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\",","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\",","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"core-js\": \"^3.36.1\",","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\",","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"vue-loader\": \"^17.4.2\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"@babel/eslint-parser\": \"^7.24.1\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin\": \"^1.7.0\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@vue/eslint-config-typescript\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\",","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^18.0.0\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"sass-loader\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\",","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\",","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\",","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"~4.9.5\",","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"typescript-eslint\": \"^7.3.1\"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"node_modules/@aashutoshrathi/word-wrap\": {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.6\",","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"node_modules/@achrinza/node-ipc\": {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"version\": \"9.2.6\",","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"@node-ipc/js-queue\": \"2.0.3\",","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"event-pubsub\": \"4.3.0\",","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"js-message\": \"1.0.7\"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"node\": \"8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19\"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"node_modules/@ampproject/remapping\": {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.1.0\",","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" \"node_modules/@babel/code-frame\": {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.5\",","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" \"@babel/highlight\": \"^7.23.4\",","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"node_modules/@babel/compat-data\": {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"version\": \"7.20.10\",","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" \"node_modules/@babel/core\": {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\",","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"@ampproject/remapping\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" \"@babel/generator\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\",","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"@babel/helpers\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.12\",","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" \"convert-source-map\": \"^1.7.0\",","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gensync\": \"^1.0.0-beta.2\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"json5\": \"^2.2.2\",","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/babel\"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"node_modules/@babel/eslint-parser\": {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" \"version\": \"7.24.1\",","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\",","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.1\"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" \"node\": \"^10.13.0 || ^12.13.0 || \u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.11.0\",","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.5.0 || ^8.0.0\"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator\": {","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"version\": \"7.23.6\",","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.23.6\",","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.2\",","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.17\",","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"jsesc\": \"^2.5.1\"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping\": {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\",","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\",","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-annotate-as-pure\": {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-builder-binary-assignment-operator-visitor\": {","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"@babel/helper-explode-assignable-expression\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-compilation-targets\": {","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\",","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.3\",","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-class-features-plugin\": {","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\",","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\",","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-regexp-features-plugin\": {","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\",","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" \"regexpu-core\": \"^5.2.1\"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-define-polyfill-provider\": {","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\",","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.17.7\",","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.16.7\",","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" \"lodash.debounce\": \"^4.0.8\",","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.14.2\",","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.2\"","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.4.0-0\"","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-environment-visitor\": {","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"version\": \"7.22.20\",","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-explode-assignable-expression\": {","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-function-name\": {","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" \"version\": \"7.23.0\",","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.22.15\",","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.23.0\"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-hoist-variables\": {","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" \"version\": \"7.22.5\",","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.22.5\"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-member-expression-to-functions\": {","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-imports\": {","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-transforms\": {","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\",","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\",","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.10\",","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-optimise-call-expression\": {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-plugin-utils\": {","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\",","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-remap-async-to-generator\": {","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"@babel/helper-wrap-function\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-replace-supers\": {","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-simple-access\": {","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\",","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\",","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.0\"","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-split-export-declaration\": {","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" \"version\": \"7.22.6\",","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.22.5\"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-string-parser\": {","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" \"version\": \"7.23.4\",","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-identifier\": {","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" \"version\": \"7.22.20\",","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-option\": {","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-wrap-function\": {","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\",","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\",","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.18.10\",","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.5\",","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.5\"","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helpers\": {","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\",","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.13\",","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" \"node_modules/@babel/highlight\": {","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" \"version\": \"7.23.4\",","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\",","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" \"chalk\": \"^2.4.2\",","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" \"node_modules/@babel/parser\": {","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" \"parser\": \"bin/babel-parser.js\"","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.13.0\"","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-async-generator-functions\": {","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\"","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-properties\": {","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-static-block\": {","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\"","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.0\"","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-decorators\": {","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\",","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.12\",","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-decorators\": \"^7.19.0\"","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-dynamic-import\": {","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-export-namespace-from\": {","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-json-strings\": {","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-logical-assignment-operators\": {","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\"","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-nullish-coalescing-operator\": {","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-numeric-separator\": {","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-object-rest-spread\": {","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\",","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-catch-binding\": {","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-chaining\": {","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-methods\": {","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-property-in-object\": {","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\",","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.5\",","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\"","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-unicode-property-regex\": {","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-async-generators\": {","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" \"version\": \"7.8.4\",","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-properties\": {","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"-"},"content":" \"version\": \"7.12.13\",","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.12.13\"","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-static-block\": {","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\",","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\"","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-decorators\": {","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" \"version\": \"7.19.0\",","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\"","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-dynamic-import\": {","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-export-namespace-from\": {","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.3\"","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-import-assertions\": {","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\",","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\"","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-json-strings\": {","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-jsx\": {","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-logical-assignment-operators\": {","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\",","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\"","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-nullish-coalescing-operator\": {","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-numeric-separator\": {","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\",","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\"","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-object-rest-spread\": {","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-catch-binding\": {","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-chaining\": {","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\",","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\"","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-private-property-in-object\": {","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\",","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\"","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-top-level-await\": {","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\",","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\"","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-arrow-functions\": {","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1019,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1020,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1021,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1022,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1023,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1024,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1025,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1026,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1027,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1028,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1029,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-async-to-generator\": {","isFullCredit":false},{"lineNumber":1030,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1031,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1032,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1033,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1034,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1035,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1036,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1038,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1039,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1040,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1041,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1042,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1043,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1045,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoped-functions\": {","isFullCredit":false},{"lineNumber":1046,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1048,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1049,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1050,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1051,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1052,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1053,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1054,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1055,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1056,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1057,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1058,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1059,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoping\": {","isFullCredit":false},{"lineNumber":1060,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\",","isFullCredit":false},{"lineNumber":1061,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1062,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1063,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1064,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1065,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1066,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1067,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1068,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1069,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1070,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1071,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1072,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1073,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-classes\": {","isFullCredit":false},{"lineNumber":1074,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1075,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1076,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1077,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1078,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1079,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":1080,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1081,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\",","isFullCredit":false},{"lineNumber":1082,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1083,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1084,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\",","isFullCredit":false},{"lineNumber":1085,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1086,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\"","isFullCredit":false},{"lineNumber":1087,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1088,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1089,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1091,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1092,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1093,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1094,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1095,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-computed-properties\": {","isFullCredit":false},{"lineNumber":1096,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1097,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1098,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1099,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1100,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1101,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\"","isFullCredit":false},{"lineNumber":1102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1103,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1104,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1105,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1106,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1107,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1109,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1110,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-destructuring\": {","isFullCredit":false},{"lineNumber":1111,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1112,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1113,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1114,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1115,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1116,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1117,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1118,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1120,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1121,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1123,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1124,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-dotall-regex\": {","isFullCredit":false},{"lineNumber":1125,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1126,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1127,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1128,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1129,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1130,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1131,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1132,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1133,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1134,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1135,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1136,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1139,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-duplicate-keys\": {","isFullCredit":false},{"lineNumber":1140,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":1141,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1142,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1143,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1144,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1145,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1146,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1147,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1148,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1149,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1150,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1151,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1152,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1153,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-exponentiation-operator\": {","isFullCredit":false},{"lineNumber":1154,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1155,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1156,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1157,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1158,"author":{"gitId":"-"},"content":" \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1159,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1160,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1161,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1162,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1164,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1165,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1168,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-for-of\": {","isFullCredit":false},{"lineNumber":1169,"author":{"gitId":"-"},"content":" \"version\": \"7.18.8\",","isFullCredit":false},{"lineNumber":1170,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1171,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1172,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1173,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1174,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1175,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1176,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1177,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1178,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1179,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1180,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1181,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1182,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-function-name\": {","isFullCredit":false},{"lineNumber":1183,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":1184,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1185,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1186,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1187,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1188,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1189,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1190,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1191,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1192,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1194,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1195,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1197,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1198,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-literals\": {","isFullCredit":false},{"lineNumber":1199,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":1200,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1201,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1202,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1203,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1205,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1206,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1207,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1208,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1209,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1211,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1212,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-member-expression-literals\": {","isFullCredit":false},{"lineNumber":1213,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1214,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1215,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1217,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1218,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1219,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1221,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1222,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1223,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1224,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1225,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1226,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-amd\": {","isFullCredit":false},{"lineNumber":1227,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\",","isFullCredit":false},{"lineNumber":1228,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1230,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1231,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\",","isFullCredit":false},{"lineNumber":1232,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1234,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1235,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1237,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1238,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1240,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1241,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-commonjs\": {","isFullCredit":false},{"lineNumber":1242,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\",","isFullCredit":false},{"lineNumber":1243,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1244,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1245,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1246,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\",","isFullCredit":false},{"lineNumber":1247,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1248,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1249,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1250,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1251,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1253,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1254,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1255,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1256,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1257,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-systemjs\": {","isFullCredit":false},{"lineNumber":1258,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\",","isFullCredit":false},{"lineNumber":1259,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1261,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1262,"author":{"gitId":"-"},"content":" \"@babel/helper-hoist-variables\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1263,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\",","isFullCredit":false},{"lineNumber":1264,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1265,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\"","isFullCredit":false},{"lineNumber":1266,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1267,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1270,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1271,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1274,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-umd\": {","isFullCredit":false},{"lineNumber":1275,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1276,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1277,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1278,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1279,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1280,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1282,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1283,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1284,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1285,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1286,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1288,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1289,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-named-capturing-groups-regex\": {","isFullCredit":false},{"lineNumber":1290,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\",","isFullCredit":false},{"lineNumber":1291,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1292,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1293,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1294,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.20.5\",","isFullCredit":false},{"lineNumber":1295,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1297,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1298,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1299,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1300,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1301,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":1302,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1303,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1304,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-new-target\": {","isFullCredit":false},{"lineNumber":1305,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1306,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1307,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1308,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1309,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1311,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1312,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1313,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1314,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1315,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1318,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-object-super\": {","isFullCredit":false},{"lineNumber":1319,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1320,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1322,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1323,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1324,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1325,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1326,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1327,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1329,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1330,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1331,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1332,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1333,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-parameters\": {","isFullCredit":false},{"lineNumber":1334,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1335,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1336,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1337,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1338,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\"","isFullCredit":false},{"lineNumber":1339,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1340,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1341,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1343,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1344,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1345,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1346,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1347,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-property-literals\": {","isFullCredit":false},{"lineNumber":1348,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1349,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1350,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1351,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1352,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1354,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1355,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1356,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1357,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1358,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1359,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1361,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-regenerator\": {","isFullCredit":false},{"lineNumber":1362,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\",","isFullCredit":false},{"lineNumber":1363,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1364,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1365,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1366,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1367,"author":{"gitId":"-"},"content":" \"regenerator-transform\": \"^0.15.1\"","isFullCredit":false},{"lineNumber":1368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1369,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1370,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1371,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1372,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1373,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1374,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1375,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1376,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-reserved-words\": {","isFullCredit":false},{"lineNumber":1377,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1378,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1379,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1380,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1381,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1383,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1384,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1385,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1386,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1387,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1388,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1389,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1390,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-runtime\": {","isFullCredit":false},{"lineNumber":1391,"author":{"gitId":"-"},"content":" \"version\": \"7.19.6\",","isFullCredit":false},{"lineNumber":1392,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1393,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1394,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1395,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1396,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\",","isFullCredit":false},{"lineNumber":1397,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":1398,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":1399,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":1400,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":1401,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1402,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1403,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1405,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1406,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1407,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1408,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1409,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-shorthand-properties\": {","isFullCredit":false},{"lineNumber":1410,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1411,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1412,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1413,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1414,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1415,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1416,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1417,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1418,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1419,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1420,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1421,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1422,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1423,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-spread\": {","isFullCredit":false},{"lineNumber":1424,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\",","isFullCredit":false},{"lineNumber":1425,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1426,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1427,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1428,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1429,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\"","isFullCredit":false},{"lineNumber":1430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1431,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1432,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1433,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1434,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1435,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1437,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1438,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-sticky-regex\": {","isFullCredit":false},{"lineNumber":1439,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1440,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1441,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1442,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1443,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1445,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1446,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1448,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1449,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1450,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1451,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1452,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-template-literals\": {","isFullCredit":false},{"lineNumber":1453,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":1454,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1455,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1456,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1457,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1458,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1459,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1460,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1462,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1463,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1464,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1465,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1466,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-typeof-symbol\": {","isFullCredit":false},{"lineNumber":1467,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\",","isFullCredit":false},{"lineNumber":1468,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1469,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1470,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1471,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1472,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1473,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1476,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1477,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1478,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1480,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-escapes\": {","isFullCredit":false},{"lineNumber":1481,"author":{"gitId":"-"},"content":" \"version\": \"7.18.10\",","isFullCredit":false},{"lineNumber":1482,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1483,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1484,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1485,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\"","isFullCredit":false},{"lineNumber":1486,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1487,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1488,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1489,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1490,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1491,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1492,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1493,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1494,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-regex\": {","isFullCredit":false},{"lineNumber":1495,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\",","isFullCredit":false},{"lineNumber":1496,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1497,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1498,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1499,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1500,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\"","isFullCredit":false},{"lineNumber":1501,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1502,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1503,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1504,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1505,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1506,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1507,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1508,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1509,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-env\": {","isFullCredit":false},{"lineNumber":1510,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\",","isFullCredit":false},{"lineNumber":1511,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1512,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1513,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1514,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.1\",","isFullCredit":false},{"lineNumber":1515,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.0\",","isFullCredit":false},{"lineNumber":1516,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1517,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1518,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1519,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1520,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-async-generator-functions\": \"^7.20.1\",","isFullCredit":false},{"lineNumber":1521,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1522,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-static-block\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1523,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-dynamic-import\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1524,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-export-namespace-from\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1525,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-json-strings\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1526,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-logical-assignment-operators\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1527,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1528,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-numeric-separator\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1529,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-object-rest-spread\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1530,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-catch-binding\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1531,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1532,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-methods\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1533,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-property-in-object\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1534,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1535,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",","isFullCredit":false},{"lineNumber":1536,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":1537,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",","isFullCredit":false},{"lineNumber":1538,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1539,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1540,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-import-assertions\": \"^7.20.0\",","isFullCredit":false},{"lineNumber":1541,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1542,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",","isFullCredit":false},{"lineNumber":1543,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1544,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",","isFullCredit":false},{"lineNumber":1545,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1546,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1547,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":1548,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",","isFullCredit":false},{"lineNumber":1549,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\",","isFullCredit":false},{"lineNumber":1550,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-arrow-functions\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1551,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-async-to-generator\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1552,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoped-functions\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1553,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoping\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1554,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-classes\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1555,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-computed-properties\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1556,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-destructuring\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1557,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1558,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-duplicate-keys\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1559,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-exponentiation-operator\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1560,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-for-of\": \"^7.18.8\",","isFullCredit":false},{"lineNumber":1561,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-function-name\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1562,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-literals\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1563,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-member-expression-literals\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1564,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-amd\": \"^7.19.6\",","isFullCredit":false},{"lineNumber":1565,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-commonjs\": \"^7.19.6\",","isFullCredit":false},{"lineNumber":1566,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-systemjs\": \"^7.19.6\",","isFullCredit":false},{"lineNumber":1567,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-umd\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1568,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.19.1\",","isFullCredit":false},{"lineNumber":1569,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-new-target\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1570,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-object-super\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1571,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.1\",","isFullCredit":false},{"lineNumber":1572,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-property-literals\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1573,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-regenerator\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1574,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-reserved-words\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1575,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-shorthand-properties\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1576,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-spread\": \"^7.19.0\",","isFullCredit":false},{"lineNumber":1577,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-sticky-regex\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1578,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-template-literals\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1579,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-typeof-symbol\": \"^7.18.9\",","isFullCredit":false},{"lineNumber":1580,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-escapes\": \"^7.18.10\",","isFullCredit":false},{"lineNumber":1581,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-regex\": \"^7.18.6\",","isFullCredit":false},{"lineNumber":1582,"author":{"gitId":"-"},"content":" \"@babel/preset-modules\": \"^0.1.5\",","isFullCredit":false},{"lineNumber":1583,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\",","isFullCredit":false},{"lineNumber":1584,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":1585,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\",","isFullCredit":false},{"lineNumber":1586,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":1587,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\",","isFullCredit":false},{"lineNumber":1588,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":1589,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1590,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1592,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1593,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1594,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1595,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1596,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1597,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-modules\": {","isFullCredit":false},{"lineNumber":1598,"author":{"gitId":"-"},"content":" \"version\": \"0.1.5\",","isFullCredit":false},{"lineNumber":1599,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1600,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1601,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1602,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":1603,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.4.4\",","isFullCredit":false},{"lineNumber":1604,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.4.4\",","isFullCredit":false},{"lineNumber":1605,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.4.4\",","isFullCredit":false},{"lineNumber":1606,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\"","isFullCredit":false},{"lineNumber":1607,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1608,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1609,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":1610,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1611,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1612,"author":{"gitId":"-"},"content":" \"node_modules/@babel/runtime\": {","isFullCredit":false},{"lineNumber":1613,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\",","isFullCredit":false},{"lineNumber":1614,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1615,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1616,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1617,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.13.11\"","isFullCredit":false},{"lineNumber":1618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1619,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1620,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1621,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1622,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1623,"author":{"gitId":"-"},"content":" \"node_modules/@babel/template\": {","isFullCredit":false},{"lineNumber":1624,"author":{"gitId":"-"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":1625,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1626,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1627,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1628,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.23.5\",","isFullCredit":false},{"lineNumber":1629,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.24.0\",","isFullCredit":false},{"lineNumber":1630,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.24.0\"","isFullCredit":false},{"lineNumber":1631,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1632,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1633,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1634,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1635,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1636,"author":{"gitId":"-"},"content":" \"node_modules/@babel/traverse\": {","isFullCredit":false},{"lineNumber":1637,"author":{"gitId":"-"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":1638,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1639,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1640,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1641,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.23.5\",","isFullCredit":false},{"lineNumber":1642,"author":{"gitId":"-"},"content":" \"@babel/generator\": \"^7.23.6\",","isFullCredit":false},{"lineNumber":1643,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.22.20\",","isFullCredit":false},{"lineNumber":1644,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.23.0\",","isFullCredit":false},{"lineNumber":1645,"author":{"gitId":"-"},"content":" \"@babel/helper-hoist-variables\": \"^7.22.5\",","isFullCredit":false},{"lineNumber":1646,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.22.6\",","isFullCredit":false},{"lineNumber":1647,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.24.0\",","isFullCredit":false},{"lineNumber":1648,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.24.0\",","isFullCredit":false},{"lineNumber":1649,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.1\",","isFullCredit":false},{"lineNumber":1650,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\"","isFullCredit":false},{"lineNumber":1651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1652,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1653,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1654,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1655,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1656,"author":{"gitId":"-"},"content":" \"node_modules/@babel/types\": {","isFullCredit":false},{"lineNumber":1657,"author":{"gitId":"-"},"content":" \"version\": \"7.24.0\",","isFullCredit":false},{"lineNumber":1658,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1659,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1660,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1661,"author":{"gitId":"-"},"content":" \"@babel/helper-string-parser\": \"^7.23.4\",","isFullCredit":false},{"lineNumber":1662,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\",","isFullCredit":false},{"lineNumber":1663,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":1664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1665,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1666,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":1667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1669,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/css-parser-algorithms\": {","isFullCredit":false},{"lineNumber":1670,"author":{"gitId":"-"},"content":" \"version\": \"2.6.1\",","isFullCredit":false},{"lineNumber":1671,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz\",","isFullCredit":false},{"lineNumber":1672,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1673,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1674,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1675,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1676,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1677,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":1678,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1679,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1681,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":1682,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1683,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":1684,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1685,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":1686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1687,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1688,"author":{"gitId":"-"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\"","isFullCredit":false},{"lineNumber":1689,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1690,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1691,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/css-tokenizer\": {","isFullCredit":false},{"lineNumber":1692,"author":{"gitId":"-"},"content":" \"version\": \"2.2.4\",","isFullCredit":false},{"lineNumber":1693,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz\",","isFullCredit":false},{"lineNumber":1694,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1696,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1697,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1698,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1699,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":1700,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1701,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1703,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":1704,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1705,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":1706,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1707,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":1708,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1710,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/media-query-list-parser\": {","isFullCredit":false},{"lineNumber":1711,"author":{"gitId":"-"},"content":" \"version\": \"2.1.9\",","isFullCredit":false},{"lineNumber":1712,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz\",","isFullCredit":false},{"lineNumber":1713,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1714,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1715,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1716,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1717,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1718,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":1719,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1720,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1721,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1722,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":1723,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1724,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":1725,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1726,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":1727,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1728,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1729,"author":{"gitId":"-"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\",","isFullCredit":false},{"lineNumber":1730,"author":{"gitId":"-"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\"","isFullCredit":false},{"lineNumber":1731,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1733,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/selector-specificity\": {","isFullCredit":false},{"lineNumber":1734,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":1735,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":1736,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":1737,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1738,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":1739,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1740,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1741,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/csstools\"","isFullCredit":false},{"lineNumber":1742,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1743,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":1744,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":1745,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\"","isFullCredit":false},{"lineNumber":1746,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1747,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":1748,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1749,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\"","isFullCredit":false},{"lineNumber":1750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1751,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1752,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.13\"","isFullCredit":false},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":1754,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1755,"author":{"gitId":"-"},"content":" \"node_modules/@dual-bundle/import-meta-resolve\": {","isFullCredit":false},{"lineNumber":1756,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":1757,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":1758,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1759,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1760,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1761,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1762,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/wooorm\"","isFullCredit":false},{"lineNumber":1763,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1765,"author":{"gitId":"-"},"content":" \"node_modules/@eslint-community/eslint-utils\": {","isFullCredit":false},{"lineNumber":1766,"author":{"gitId":"-"},"content":" \"version\": \"4.4.0\",","isFullCredit":false},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1768,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1770,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.3.0\"","isFullCredit":false},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":1772,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1773,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1774,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1775,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1776,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || \u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":1777,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1778,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1779,"author":{"gitId":"-"},"content":" \"node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1782,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":1783,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1785,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1786,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":1788,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1789,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1790,"author":{"gitId":"-"},"content":" \"node_modules/@eslint-community/regexpp\": {","isFullCredit":false},{"lineNumber":1791,"author":{"gitId":"-"},"content":" \"version\": \"4.10.0\",","isFullCredit":false},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1793,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1795,"author":{"gitId":"-"},"content":" \"node\": \"^12.0.0 || ^14.0.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1797,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1798,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc\": {","isFullCredit":false},{"lineNumber":1799,"author":{"gitId":"-"},"content":" \"version\": \"2.1.4\",","isFullCredit":false},{"lineNumber":1800,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1801,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1802,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1803,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\",","isFullCredit":false},{"lineNumber":1804,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\",","isFullCredit":false},{"lineNumber":1805,"author":{"gitId":"-"},"content":" \"espree\": \"^9.6.0\",","isFullCredit":false},{"lineNumber":1806,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\",","isFullCredit":false},{"lineNumber":1807,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":1808,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":1809,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":1810,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":1811,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^3.1.1\"","isFullCredit":false},{"lineNumber":1812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1813,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1814,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1815,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1816,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1817,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":1818,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1819,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1820,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":1821,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":1822,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1823,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1824,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1825,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1826,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":1827,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1828,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1829,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/globals\": {","isFullCredit":false},{"lineNumber":1830,"author":{"gitId":"-"},"content":" \"version\": \"13.24.0\",","isFullCredit":false},{"lineNumber":1831,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1832,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1833,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1834,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":1835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1836,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1837,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":1838,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1839,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1840,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":1841,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1842,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1843,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":1844,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":1845,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1846,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":1847,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1848,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":1849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1850,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1851,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1852,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1853,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1854,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/js\": {","isFullCredit":false},{"lineNumber":1855,"author":{"gitId":"-"},"content":" \"version\": \"8.57.0\",","isFullCredit":false},{"lineNumber":1856,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1857,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1858,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1859,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":1860,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1861,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1862,"author":{"gitId":"-"},"content":" \"node_modules/@fontsource/titillium-web\": {","isFullCredit":false},{"lineNumber":1863,"author":{"gitId":"-"},"content":" \"version\": \"5.0.19\",","isFullCredit":false},{"lineNumber":1864,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.0.19.tgz\",","isFullCredit":false},{"lineNumber":1865,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ktxZrkQUjHD+cKhCgm9YZU6vfHJAguFTidb832BFra21dniFpWiEpkot18VkYyuSnxoGUjrC9aLOB1Dc14N4vg\u003d\u003d\"","isFullCredit":false},{"lineNumber":1866,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1867,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-common-types\": {","isFullCredit":false},{"lineNumber":1868,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":1869,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":1870,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1871,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1872,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1873,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1874,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1875,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-svg-core\": {","isFullCredit":false},{"lineNumber":1876,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":1877,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":1878,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1879,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1880,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":1881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1882,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1883,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1884,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1885,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1886,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-brands-svg-icons\": {","isFullCredit":false},{"lineNumber":1887,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":1888,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":1889,"author":{"gitId":"-"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\",","isFullCredit":false},{"lineNumber":1890,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1891,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":1892,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1893,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1894,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1895,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1896,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1897,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-solid-svg-icons\": {","isFullCredit":false},{"lineNumber":1898,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":1899,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":1900,"author":{"gitId":"-"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\",","isFullCredit":false},{"lineNumber":1901,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1902,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\"","isFullCredit":false},{"lineNumber":1903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1904,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1905,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":1906,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1907,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1908,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/vue-fontawesome\": {","isFullCredit":false},{"lineNumber":1909,"author":{"gitId":"-"},"content":" \"version\": \"3.0.6\",","isFullCredit":false},{"lineNumber":1910,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1911,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":1912,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-svg-core\": \"~1 || ~6\",","isFullCredit":false},{"lineNumber":1913,"author":{"gitId":"-"},"content":" \"vue\": \"\u003e\u003d 3.0.0 \u003c 4\"","isFullCredit":false},{"lineNumber":1914,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1915,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1916,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/hoek\": {","isFullCredit":false},{"lineNumber":1917,"author":{"gitId":"-"},"content":" \"version\": \"9.3.0\",","isFullCredit":false},{"lineNumber":1918,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1919,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":1920,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1921,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/topo\": {","isFullCredit":false},{"lineNumber":1922,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":1923,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1924,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":1925,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1926,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\"","isFullCredit":false},{"lineNumber":1927,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1928,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1929,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array\": {","isFullCredit":false},{"lineNumber":1930,"author":{"gitId":"-"},"content":" \"version\": \"0.11.14\",","isFullCredit":false},{"lineNumber":1931,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1932,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":1933,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1934,"author":{"gitId":"-"},"content":" \"@humanwhocodes/object-schema\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":1935,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.1\",","isFullCredit":false},{"lineNumber":1936,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.5\"","isFullCredit":false},{"lineNumber":1937,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1938,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1939,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.10.0\"","isFullCredit":false},{"lineNumber":1940,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1941,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1942,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":1943,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":1944,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1945,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":1946,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1947,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":1948,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":1949,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1951,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":1952,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":1953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1954,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":1955,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1956,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":1957,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1958,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1959,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":1960,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1961,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1962,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/module-importer\": {","isFullCredit":false},{"lineNumber":1963,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":1964,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1965,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":1966,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1967,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.22\"","isFullCredit":false},{"lineNumber":1968,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1969,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":1970,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":1971,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/nzakas\"","isFullCredit":false},{"lineNumber":1972,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1974,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/object-schema\": {","isFullCredit":false},{"lineNumber":1975,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":1976,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1977,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":1978,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1979,"author":{"gitId":"-"},"content":" \"node_modules/@jest/schemas\": {","isFullCredit":false},{"lineNumber":1980,"author":{"gitId":"-"},"content":" \"version\": \"29.6.3\",","isFullCredit":false},{"lineNumber":1981,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",","isFullCredit":false},{"lineNumber":1982,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA\u003d\u003d\",","isFullCredit":false},{"lineNumber":1983,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"@sinclair/typebox\": \"^0.27.8\"","isFullCredit":false},{"lineNumber":1986,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1987,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":1989,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types\": {","isFullCredit":false},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"version\": \"29.6.3\",","isFullCredit":false},{"lineNumber":1993,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz\",","isFullCredit":false},{"lineNumber":1994,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw\u003d\u003d\",","isFullCredit":false},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"@jest/schemas\": \"^29.6.3\",","isFullCredit":false},{"lineNumber":1998,"author":{"gitId":"-"},"content":" \"@types/istanbul-lib-coverage\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"@types/istanbul-reports\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"@types/yargs\": \"^17.0.8\",","isFullCredit":false},{"lineNumber":2002,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2003,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2005,"author":{"gitId":"-"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":2006,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":2010,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2013,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2014,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2015,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2016,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2021,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2022,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":2025,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":2026,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2029,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":2031,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2034,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2035,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2036,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2037,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2038,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":2042,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2043,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2044,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":2046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2047,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2048,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":2049,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":2053,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2056,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2059,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2062,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2064,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2065,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2066,"author":{"gitId":"-"},"content":" \"node_modules/@jest/types/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2070,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2073,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2076,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2077,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/gen-mapping\": {","isFullCredit":false},{"lineNumber":2079,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2082,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":2084,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\"","isFullCredit":false},{"lineNumber":2085,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":2088,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2089,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2090,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/resolve-uri\": {","isFullCredit":false},{"lineNumber":2091,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2092,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":2095,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2097,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/set-array\": {","isFullCredit":false},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":2102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2103,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map\": {","isFullCredit":false},{"lineNumber":2105,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\",","isFullCredit":false},{"lineNumber":2106,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2107,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.0\",","isFullCredit":false},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":2110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2112,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping\": {","isFullCredit":false},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\",","isFullCredit":false},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\",","isFullCredit":false},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\"","isFullCredit":false},{"lineNumber":2119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2120,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2121,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":2122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2123,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/sourcemap-codec\": {","isFullCredit":false},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"version\": \"1.4.14\",","isFullCredit":false},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/trace-mapping\": {","isFullCredit":false},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"0.3.17\",","isFullCredit":false},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"@jridgewell/resolve-uri\": \"3.1.0\",","isFullCredit":false},{"lineNumber":2133,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"1.4.14\"","isFullCredit":false},{"lineNumber":2134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2135,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"node_modules/@leichtgewicht/ip-codec\": {","isFullCredit":false},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2139,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2140,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals\": {","isFullCredit":false},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1-v1\",","isFullCredit":false},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2145,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\"","isFullCredit":false},{"lineNumber":2147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2148,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"node_modules/@node-ipc/js-queue\": {","isFullCredit":false},{"lineNumber":2150,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":2151,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"easy-stack\": \"1.0.1\"","isFullCredit":false},{"lineNumber":2155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2157,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d1.0.0\"","isFullCredit":false},{"lineNumber":2158,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.scandir\": {","isFullCredit":false},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"version\": \"2.1.5\",","isFullCredit":false},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2163,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"2.0.5\",","isFullCredit":false},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"run-parallel\": \"^1.1.9\"","isFullCredit":false},{"lineNumber":2167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2169,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":2170,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2171,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.stat\": {","isFullCredit":false},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2175,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":2178,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2179,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.walk\": {","isFullCredit":false},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2183,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2184,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"@nodelib/fs.scandir\": \"2.1.5\",","isFullCredit":false},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"fastq\": \"^1.6.0\"","isFullCredit":false},{"lineNumber":2187,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":2190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2191,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"node_modules/@polka/url\": {","isFullCredit":false},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-next.21\",","isFullCredit":false},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/address\": {","isFullCredit":false},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"version\": \"4.1.4\",","isFullCredit":false},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":2201,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\"","isFullCredit":false},{"lineNumber":2203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2205,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/formula\": {","isFullCredit":false},{"lineNumber":2206,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":2209,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/pinpoint\": {","isFullCredit":false},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":2214,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2215,"author":{"gitId":"-"},"content":" \"node_modules/@sinclair/typebox\": {","isFullCredit":false},{"lineNumber":2216,"author":{"gitId":"-"},"content":" \"version\": \"0.27.8\",","isFullCredit":false},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",","isFullCredit":false},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin\": {","isFullCredit":false},{"lineNumber":2222,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\",","isFullCredit":false},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2225,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2226,"author":{"gitId":"-"},"content":" \"chalk\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"error-stack-parser\": \"^2.0.6\",","isFullCredit":false},{"lineNumber":2228,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\",","isFullCredit":false},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":2230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2231,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":2233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2235,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":2236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2237,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2238,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2241,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2248,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":2250,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2251,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2252,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":2253,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":2258,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":2259,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2261,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2263,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2264,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":2265,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":2270,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2271,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":2273,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2274,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":2277,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2279,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":2281,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2283,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2285,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2286,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2287,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":2290,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2291,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2292,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2294,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":2297,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2298,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"node_modules/@soda/get-current-script\": {","isFullCredit":false},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":2301,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2302,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2303,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin\": {","isFullCredit":false},{"lineNumber":2305,"author":{"gitId":"-"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-js\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2311,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-jsx\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2312,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-plus\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-ts\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^8.56.8\"","isFullCredit":false},{"lineNumber":2315,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2316,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2317,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":2318,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2320,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":2321,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2322,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-js\": {","isFullCredit":false},{"lineNumber":2324,"author":{"gitId":"-"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2327,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2329,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.11.3\",","isFullCredit":false},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.4.3\",","isFullCredit":false},{"lineNumber":2333,"author":{"gitId":"-"},"content":" \"espree\": \"^9.6.1\"","isFullCredit":false},{"lineNumber":2334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":2337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":2340,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2341,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2342,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-js/node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2347,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2348,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2351,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":2352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2354,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-js/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":2355,"author":{"gitId":"-"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2359,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2360,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":2361,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2363,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":2364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2365,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2366,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx\": {","isFullCredit":false},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2368,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2371,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2372,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-js\": \"^1.7.2\",","isFullCredit":false},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.3.0\",","isFullCredit":false},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"picomatch\": \"^4.0.2\"","isFullCredit":false},{"lineNumber":2376,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2377,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":2379,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2380,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2381,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":2382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2383,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",","isFullCredit":false},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2388,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2389,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":2391,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2392,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-jsx/node_modules/picomatch\": {","isFullCredit":false},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"version\": \"4.0.2\",","isFullCredit":false},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",","isFullCredit":false},{"lineNumber":2396,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":2400,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\"","isFullCredit":false},{"lineNumber":2403,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-plus\": {","isFullCredit":false},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2409,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"@typescript-eslint/utils\": \"^6.21.0\"","isFullCredit":false},{"lineNumber":2413,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"eslint\": \"*\"","isFullCredit":false},{"lineNumber":2416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2417,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/eslint-plugin-ts\": {","isFullCredit":false},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"version\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.7.2.tgz\",","isFullCredit":false},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"@stylistic/eslint-plugin-js\": \"1.7.2\",","isFullCredit":false},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^8.56.8\",","isFullCredit":false},{"lineNumber":2426,"author":{"gitId":"-"},"content":" \"@typescript-eslint/utils\": \"^6.21.0\"","isFullCredit":false},{"lineNumber":2427,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":2430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d8.40.0\"","isFullCredit":false},{"lineNumber":2433,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2434,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2435,"author":{"gitId":"-"},"content":" \"node_modules/@stylistic/stylelint-plugin\": {","isFullCredit":false},{"lineNumber":2436,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-2.1.1.tgz\",","isFullCredit":false},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-xqHTmQZN7EbnFDW7jw0rAsdFNO4IRqvXhrh3qhUlIwF/x09Zm7kgs/ADktHxsTJYcw346PpGihsB0t4pZhpeHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2439,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"@csstools/css-parser-algorithms\": \"^2.5.0\",","isFullCredit":false},{"lineNumber":2442,"author":{"gitId":"-"},"content":" \"@csstools/css-tokenizer\": \"^2.2.3\",","isFullCredit":false},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.7\",","isFullCredit":false},{"lineNumber":2444,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":2445,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":2446,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"style-search\": \"^0.1.0\",","isFullCredit":false},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"stylelint\": \"^16.2.1\"","isFullCredit":false},{"lineNumber":2449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2450,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"node\": \"^18.12 || \u003e\u003d20.9\"","isFullCredit":false},{"lineNumber":2452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2453,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":2455,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2456,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2457,"author":{"gitId":"-"},"content":" \"node_modules/@trysound/sax\": {","isFullCredit":false},{"lineNumber":2458,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":2459,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2462,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":2463,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2465,"author":{"gitId":"-"},"content":" \"node_modules/@types/babel-types\": {","isFullCredit":false},{"lineNumber":2466,"author":{"gitId":"-"},"content":" \"version\": \"7.0.11\",","isFullCredit":false},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2468,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"node_modules/@types/babylon\": {","isFullCredit":false},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"version\": \"6.16.6\",","isFullCredit":false},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"*\"","isFullCredit":false},{"lineNumber":2474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"node_modules/@types/body-parser\": {","isFullCredit":false},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"version\": \"1.19.2\",","isFullCredit":false},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2479,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2481,"author":{"gitId":"-"},"content":" \"@types/connect\": \"*\",","isFullCredit":false},{"lineNumber":2482,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2483,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2484,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"node_modules/@types/bonjour\": {","isFullCredit":false},{"lineNumber":2486,"author":{"gitId":"-"},"content":" \"version\": \"3.5.10\",","isFullCredit":false},{"lineNumber":2487,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2488,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2489,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2490,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2491,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect\": {","isFullCredit":false},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"version\": \"3.4.35\",","isFullCredit":false},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect-history-api-fallback\": {","isFullCredit":false},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"version\": \"1.3.5\",","isFullCredit":false},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2504,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2506,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"*\",","isFullCredit":false},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2508,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2509,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint\": {","isFullCredit":false},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"version\": \"8.56.10\",","isFullCredit":false},{"lineNumber":2512,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz\",","isFullCredit":false},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\",","isFullCredit":false},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"*\"","isFullCredit":false},{"lineNumber":2517,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2518,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint-scope\": {","isFullCredit":false},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"version\": \"3.7.4\",","isFullCredit":false},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"*\",","isFullCredit":false},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\"","isFullCredit":false},{"lineNumber":2525,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2526,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"node_modules/@types/estree\": {","isFullCredit":false},{"lineNumber":2528,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":2529,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"node_modules/@types/express\": {","isFullCredit":false},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"version\": \"4.17.15\",","isFullCredit":false},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2534,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"@types/body-parser\": \"*\",","isFullCredit":false},{"lineNumber":2537,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"^4.17.31\",","isFullCredit":false},{"lineNumber":2538,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\",","isFullCredit":false},{"lineNumber":2539,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"*\"","isFullCredit":false},{"lineNumber":2540,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2541,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2542,"author":{"gitId":"-"},"content":" \"node_modules/@types/express-serve-static-core\": {","isFullCredit":false},{"lineNumber":2543,"author":{"gitId":"-"},"content":" \"version\": \"4.17.32\",","isFullCredit":false},{"lineNumber":2544,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2545,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\",","isFullCredit":false},{"lineNumber":2549,"author":{"gitId":"-"},"content":" \"@types/range-parser\": \"*\"","isFullCredit":false},{"lineNumber":2550,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2551,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2552,"author":{"gitId":"-"},"content":" \"node_modules/@types/html-minifier-terser\": {","isFullCredit":false},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2555,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2556,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"node_modules/@types/http-proxy\": {","isFullCredit":false},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"version\": \"1.17.9\",","isFullCredit":false},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2562,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2563,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2564,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"node_modules/@types/istanbul-lib-coverage\": {","isFullCredit":false},{"lineNumber":2566,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",","isFullCredit":false},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2569,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2570,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2571,"author":{"gitId":"-"},"content":" \"node_modules/@types/istanbul-lib-report\": {","isFullCredit":false},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":2573,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",","isFullCredit":false},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2575,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"@types/istanbul-lib-coverage\": \"*\"","isFullCredit":false},{"lineNumber":2578,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2580,"author":{"gitId":"-"},"content":" \"node_modules/@types/istanbul-reports\": {","isFullCredit":false},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":2582,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",","isFullCredit":false},{"lineNumber":2583,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2584,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2586,"author":{"gitId":"-"},"content":" \"@types/istanbul-lib-report\": \"*\"","isFullCredit":false},{"lineNumber":2587,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2588,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"node_modules/@types/json-schema\": {","isFullCredit":false},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"version\": \"7.0.15\",","isFullCredit":false},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2592,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2593,"author":{"gitId":"-"},"content":" \"node_modules/@types/json5\": {","isFullCredit":false},{"lineNumber":2594,"author":{"gitId":"-"},"content":" \"version\": \"0.0.29\",","isFullCredit":false},{"lineNumber":2595,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2596,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2597,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"node_modules/@types/linkify-it\": {","isFullCredit":false},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"version\": \"3.0.5\",","isFullCredit":false},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"node_modules/@types/markdown-it\": {","isFullCredit":false},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"version\": \"13.0.7\",","isFullCredit":false},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2605,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2606,"author":{"gitId":"-"},"content":" \"@types/linkify-it\": \"*\",","isFullCredit":false},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"@types/mdurl\": \"*\"","isFullCredit":false},{"lineNumber":2608,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2610,"author":{"gitId":"-"},"content":" \"node_modules/@types/mdurl\": {","isFullCredit":false},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2613,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"node_modules/@types/mime\": {","isFullCredit":false},{"lineNumber":2615,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":2616,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2617,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimatch\": {","isFullCredit":false},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2622,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2623,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimist\": {","isFullCredit":false},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2627,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"node_modules/@types/node\": {","isFullCredit":false},{"lineNumber":2629,"author":{"gitId":"-"},"content":" \"version\": \"18.11.18\",","isFullCredit":false},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2631,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2632,"author":{"gitId":"-"},"content":" \"node_modules/@types/normalize-package-data\": {","isFullCredit":false},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2636,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"node_modules/@types/parse-json\": {","isFullCredit":false},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2640,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"node_modules/@types/qs\": {","isFullCredit":false},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"version\": \"6.9.7\",","isFullCredit":false},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2645,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"node_modules/@types/range-parser\": {","isFullCredit":false},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":2649,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2650,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"node_modules/@types/retry\": {","isFullCredit":false},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\",","isFullCredit":false},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2657,"author":{"gitId":"-"},"content":" \"node_modules/@types/seedrandom\": {","isFullCredit":false},{"lineNumber":2658,"author":{"gitId":"-"},"content":" \"version\": \"3.0.8\",","isFullCredit":false},{"lineNumber":2659,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"node_modules/@types/semver\": {","isFullCredit":false},{"lineNumber":2662,"author":{"gitId":"-"},"content":" \"version\": \"7.5.8\",","isFullCredit":false},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",","isFullCredit":false},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2665,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2666,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2667,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-index\": {","isFullCredit":false},{"lineNumber":2668,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\",","isFullCredit":false},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2671,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"@types/express\": \"*\"","isFullCredit":false},{"lineNumber":2673,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2674,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-static\": {","isFullCredit":false},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\",","isFullCredit":false},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"@types/mime\": \"*\",","isFullCredit":false},{"lineNumber":2681,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2682,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2683,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"node_modules/@types/sockjs\": {","isFullCredit":false},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"version\": \"0.3.33\",","isFullCredit":false},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2687,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"node_modules/@types/webpack-env\": {","isFullCredit":false},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"version\": \"1.18.0\",","isFullCredit":false},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":2696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2697,"author":{"gitId":"-"},"content":" \"node_modules/@types/ws\": {","isFullCredit":false},{"lineNumber":2698,"author":{"gitId":"-"},"content":" \"version\": \"8.5.4\",","isFullCredit":false},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\"","isFullCredit":false},{"lineNumber":2703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"node_modules/@types/yargs\": {","isFullCredit":false},{"lineNumber":2706,"author":{"gitId":"-"},"content":" \"version\": \"17.0.32\",","isFullCredit":false},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz\",","isFullCredit":false},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog\u003d\u003d\",","isFullCredit":false},{"lineNumber":2709,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"@types/yargs-parser\": \"*\"","isFullCredit":false},{"lineNumber":2712,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"node_modules/@types/yargs-parser\": {","isFullCredit":false},{"lineNumber":2715,"author":{"gitId":"-"},"content":" \"version\": \"21.0.3\",","isFullCredit":false},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",","isFullCredit":false},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2719,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin\": {","isFullCredit":false},{"lineNumber":2721,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"@eslint-community/regexpp\": \"^4.10.0\",","isFullCredit":false},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"@typescript-eslint/type-utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"@typescript-eslint/utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2731,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":2732,"author":{"gitId":"-"},"content":" \"graphemer\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.3.1\",","isFullCredit":false},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":2737,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2738,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2740,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2741,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":2748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2750,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2752,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2753,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2754,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":2759,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2760,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2766,"author":{"gitId":"-"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2767,"author":{"gitId":"-"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":2768,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2772,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2775,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":2778,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2780,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":2781,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2790,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2791,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver\": {","isFullCredit":false},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2796,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2797,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":2799,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":2802,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2803,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2805,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2806,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":2808,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2809,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/parser\": {","isFullCredit":false},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2815,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2818,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2821,"author":{"gitId":"-"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\"","isFullCredit":false},{"lineNumber":2824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2833,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":2834,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2838,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2839,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2840,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/scope-manager\": {","isFullCredit":false},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw\u003d\u003d\",","isFullCredit":false},{"lineNumber":2845,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\"","isFullCredit":false},{"lineNumber":2849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2851,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2856,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2857,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils\": {","isFullCredit":false},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2860,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"@typescript-eslint/utils\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":2867,"author":{"gitId":"-"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":2868,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2869,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2872,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2877,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":2878,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2880,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":2881,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2882,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2883,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2885,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":2886,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2887,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2890,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":2893,"author":{"gitId":"-"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":2898,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2899,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2901,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2902,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2903,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2905,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":2908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2915,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2917,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2920,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2921,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/semver\": {","isFullCredit":false},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":2924,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":2925,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":2929,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":2932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2935,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":2941,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":2942,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/types\": {","isFullCredit":false},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w\u003d\u003d\",","isFullCredit":false},{"lineNumber":2947,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2948,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2954,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2955,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree\": {","isFullCredit":false},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2958,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":2959,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":2960,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2961,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"7.7.0\",","isFullCredit":false},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"minimatch\": \"^9.0.4\",","isFullCredit":false},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":2969,"author":{"gitId":"-"},"content":" \"ts-api-utils\": \"^1.3.0\"","isFullCredit":false},{"lineNumber":2970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2971,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":2973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":2976,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":2977,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":2980,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":2981,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2982,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":2985,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":2990,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":2994,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":2995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/semver\": {","isFullCredit":false},{"lineNumber":2997,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3003,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3005,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3009,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3010,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3012,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3016,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":3018,"author":{"gitId":"-"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.12\",","isFullCredit":false},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"@types/semver\": \"^7.5.0\",","isFullCredit":false},{"lineNumber":3026,"author":{"gitId":"-"},"content":" \"@typescript-eslint/scope-manager\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3027,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"@typescript-eslint/typescript-estree\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.4\"","isFullCredit":false},{"lineNumber":3030,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\"","isFullCredit":false},{"lineNumber":3040,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3041,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3042,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager\": {","isFullCredit":false},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\"","isFullCredit":false},{"lineNumber":3050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3051,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":3053,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3057,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3058,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types\": {","isFullCredit":false},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3065,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":3066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3068,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3070,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3071,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3072,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree\": {","isFullCredit":false},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3078,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":3083,"author":{"gitId":"-"},"content":" \"minimatch\": \"9.0.3\",","isFullCredit":false},{"lineNumber":3084,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.4\",","isFullCredit":false},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"ts-api-utils\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":3086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":3089,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3090,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3093,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":3096,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3097,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3098,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3099,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys\": {","isFullCredit":false},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"version\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3102,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz\",","isFullCredit":false},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"6.21.0\",","isFullCredit":false},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.4.1\"","isFullCredit":false},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":3111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3114,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3116,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":3120,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3124,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3128,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3129,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":3130,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3140,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"version\": \"9.0.3\",","isFullCredit":false},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz\",","isFullCredit":false},{"lineNumber":3144,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3145,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":3148,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\"","isFullCredit":false},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":3154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/semver\": {","isFullCredit":false},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":3159,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3160,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3161,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3170,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3172,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":3175,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys\": {","isFullCredit":false},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":3180,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA\u003d\u003d\",","isFullCredit":false},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3182,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3183,"author":{"gitId":"-"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.4.3\"","isFullCredit":false},{"lineNumber":3185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":3188,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3190,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3191,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":3192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3199,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3200,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":3201,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":3204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3205,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3206,"author":{"gitId":"-"},"content":" \"node_modules/@ungap/structured-clone\": {","isFullCredit":false},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3210,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-jsx-merge-props\": {","isFullCredit":false},{"lineNumber":3212,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3213,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3215,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-transform-on\": {","isFullCredit":false},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3219,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3221,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-jsx\": {","isFullCredit":false},{"lineNumber":3222,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3227,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3229,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3230,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-transform-on\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"camelcase\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"html-tags\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3235,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx\": {","isFullCredit":false},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\",","isFullCredit":false},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3246,"author":{"gitId":"-"},"content":" \"lodash.kebabcase\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":3247,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3248,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3251,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3253,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags\": {","isFullCredit":false},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":3259,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3260,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app\": {","isFullCredit":false},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3263,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3264,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-decorators\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-runtime\": \"^7.12.15\",","isFullCredit":false},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"@babel/preset-env\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.12.13\",","isFullCredit":false},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-jsx\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-jsx\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"babel-plugin-dynamic-import-node\": \"^2.3.3\",","isFullCredit":false},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"core-js\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":3280,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.8.3\",","isFullCredit":false},{"lineNumber":3281,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\"","isFullCredit":false},{"lineNumber":3282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"@babel/core\": \"*\",","isFullCredit":false},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"core-js\": \"^3\",","isFullCredit":false},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\"","isFullCredit":false},{"lineNumber":3287,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"core-js\": {","isFullCredit":false},{"lineNumber":3290,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3291,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3292,"author":{"gitId":"-"},"content":" \"vue\": {","isFullCredit":false},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3294,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3295,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":3298,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3300,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3301,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3303,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3304,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3306,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/semver\": {","isFullCredit":false},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3314,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3315,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3316,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":3317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3319,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3320,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3322,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3325,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3326,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-jsx\": {","isFullCredit":false},{"lineNumber":3328,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-inject-h\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-render-instance\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3336,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-functional-vue\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3337,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-inject-h\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-model\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3339,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-on\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":3340,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\",","isFullCredit":false},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"vue\": \"*\"","isFullCredit":false},{"lineNumber":3344,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"vue\": {","isFullCredit":false},{"lineNumber":3347,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3349,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3350,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-inject-h\": {","isFullCredit":false},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3353,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3355,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\"","isFullCredit":false},{"lineNumber":3357,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3358,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3360,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3361,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3362,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-render-instance\": {","isFullCredit":false},{"lineNumber":3363,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3364,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3365,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\"","isFullCredit":false},{"lineNumber":3368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3369,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3370,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3371,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3372,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3373,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-functional-vue\": {","isFullCredit":false},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3376,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\"","isFullCredit":false},{"lineNumber":3379,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3380,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3383,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3384,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-inject-h\": {","isFullCredit":false},{"lineNumber":3385,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3388,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3389,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\"","isFullCredit":false},{"lineNumber":3390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3392,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3393,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3394,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model\": {","isFullCredit":false},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3397,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3398,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3400,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\",","isFullCredit":false},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3403,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":3404,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":3406,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3408,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3409,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3410,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3411,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/camelcase\": {","isFullCredit":false},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\",","isFullCredit":false},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3414,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3415,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":3417,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3418,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/html-tags\": {","isFullCredit":false},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3422,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3423,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3424,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":3425,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3426,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on\": {","isFullCredit":false},{"lineNumber":3428,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":3429,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3432,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\",","isFullCredit":false},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":3434,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":3435,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3436,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3437,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":3438,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3439,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3440,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on/node_modules/camelcase\": {","isFullCredit":false},{"lineNumber":3441,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\",","isFullCredit":false},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3444,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3445,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":3446,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3448,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-overlay\": {","isFullCredit":false},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3450,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3451,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3453,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-babel\": {","isFullCredit":false},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3455,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3456,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3457,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3458,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3459,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-app\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3460,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3461,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\",","isFullCredit":false},{"lineNumber":3462,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3463,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\"","isFullCredit":false},{"lineNumber":3464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3465,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3466,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\"","isFullCredit":false},{"lineNumber":3467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3468,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3469,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-eslint\": {","isFullCredit":false},{"lineNumber":3470,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3471,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3472,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3473,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3474,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3475,"author":{"gitId":"-"},"content":" \"eslint-webpack-plugin\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":3476,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\",","isFullCredit":false},{"lineNumber":3477,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\",","isFullCredit":false},{"lineNumber":3478,"author":{"gitId":"-"},"content":" \"yorkie\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3480,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3481,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\",","isFullCredit":false},{"lineNumber":3482,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d7.5.0\"","isFullCredit":false},{"lineNumber":3483,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3484,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3485,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-router\": {","isFullCredit":false},{"lineNumber":3486,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3487,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3488,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3489,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3490,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\"","isFullCredit":false},{"lineNumber":3491,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3492,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3493,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\"","isFullCredit":false},{"lineNumber":3494,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3495,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3496,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-typescript\": {","isFullCredit":false},{"lineNumber":3497,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3498,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3499,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3500,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3501,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3502,"author":{"gitId":"-"},"content":" \"@types/webpack-env\": \"^1.15.2\",","isFullCredit":false},{"lineNumber":3503,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3504,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\",","isFullCredit":false},{"lineNumber":3505,"author":{"gitId":"-"},"content":" \"fork-ts-checker-webpack-plugin\": \"^6.4.0\",","isFullCredit":false},{"lineNumber":3506,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\",","isFullCredit":false},{"lineNumber":3507,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3508,"author":{"gitId":"-"},"content":" \"ts-loader\": \"^9.2.5\",","isFullCredit":false},{"lineNumber":3509,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\"","isFullCredit":false},{"lineNumber":3510,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3511,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3512,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\",","isFullCredit":false},{"lineNumber":3513,"author":{"gitId":"-"},"content":" \"cache-loader\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3514,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d2\",","isFullCredit":false},{"lineNumber":3515,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\",","isFullCredit":false},{"lineNumber":3516,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":3517,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3518,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3519,"author":{"gitId":"-"},"content":" \"cache-loader\": {","isFullCredit":false},{"lineNumber":3520,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3521,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3522,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {","isFullCredit":false},{"lineNumber":3523,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3524,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3525,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3526,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3527,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-vuex\": {","isFullCredit":false},{"lineNumber":3528,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3529,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3530,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3531,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3532,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\"","isFullCredit":false},{"lineNumber":3533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3535,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-service\": {","isFullCredit":false},{"lineNumber":3536,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3537,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3538,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3539,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3540,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\",","isFullCredit":false},{"lineNumber":3541,"author":{"gitId":"-"},"content":" \"@soda/friendly-errors-webpack-plugin\": \"^1.8.0\",","isFullCredit":false},{"lineNumber":3542,"author":{"gitId":"-"},"content":" \"@soda/get-current-script\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3543,"author":{"gitId":"-"},"content":" \"@types/minimist\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":3544,"author":{"gitId":"-"},"content":" \"@vue/cli-overlay\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3545,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-router\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3546,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-vuex\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3547,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":3548,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.3.0\",","isFullCredit":false},{"lineNumber":3549,"author":{"gitId":"-"},"content":" \"@vue/vue-loader-v15\": \"npm:vue-loader@^15.9.7\",","isFullCredit":false},{"lineNumber":3550,"author":{"gitId":"-"},"content":" \"@vue/web-component-wrapper\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":3551,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.5\",","isFullCredit":false},{"lineNumber":3552,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.2\",","isFullCredit":false},{"lineNumber":3553,"author":{"gitId":"-"},"content":" \"address\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":3554,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"^10.2.4\",","isFullCredit":false},{"lineNumber":3555,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.3\",","isFullCredit":false},{"lineNumber":3556,"author":{"gitId":"-"},"content":" \"case-sensitive-paths-webpack-plugin\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":3557,"author":{"gitId":"-"},"content":" \"cli-highlight\": \"^2.1.10\",","isFullCredit":false},{"lineNumber":3558,"author":{"gitId":"-"},"content":" \"clipboardy\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":3559,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.4\",","isFullCredit":false},{"lineNumber":3560,"author":{"gitId":"-"},"content":" \"copy-webpack-plugin\": \"^9.0.1\",","isFullCredit":false},{"lineNumber":3561,"author":{"gitId":"-"},"content":" \"css-loader\": \"^6.5.0\",","isFullCredit":false},{"lineNumber":3562,"author":{"gitId":"-"},"content":" \"css-minimizer-webpack-plugin\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":3563,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":3564,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":3565,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\",","isFullCredit":false},{"lineNumber":3566,"author":{"gitId":"-"},"content":" \"dotenv\": \"^10.0.0\",","isFullCredit":false},{"lineNumber":3567,"author":{"gitId":"-"},"content":" \"dotenv-expand\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":3568,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\",","isFullCredit":false},{"lineNumber":3569,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\",","isFullCredit":false},{"lineNumber":3570,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3571,"author":{"gitId":"-"},"content":" \"html-webpack-plugin\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":3572,"author":{"gitId":"-"},"content":" \"is-file-esm\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3573,"author":{"gitId":"-"},"content":" \"launch-editor-middleware\": \"^2.2.1\",","isFullCredit":false},{"lineNumber":3574,"author":{"gitId":"-"},"content":" \"lodash.defaultsdeep\": \"^4.6.1\",","isFullCredit":false},{"lineNumber":3575,"author":{"gitId":"-"},"content":" \"lodash.mapvalues\": \"^4.6.0\",","isFullCredit":false},{"lineNumber":3576,"author":{"gitId":"-"},"content":" \"mini-css-extract-plugin\": \"^2.5.3\",","isFullCredit":false},{"lineNumber":3577,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.5\",","isFullCredit":false},{"lineNumber":3578,"author":{"gitId":"-"},"content":" \"module-alias\": \"^2.2.2\",","isFullCredit":false},{"lineNumber":3579,"author":{"gitId":"-"},"content":" \"portfinder\": \"^1.0.26\",","isFullCredit":false},{"lineNumber":3580,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.6\",","isFullCredit":false},{"lineNumber":3581,"author":{"gitId":"-"},"content":" \"postcss-loader\": \"^6.1.1\",","isFullCredit":false},{"lineNumber":3582,"author":{"gitId":"-"},"content":" \"progress-webpack-plugin\": \"^1.0.12\",","isFullCredit":false},{"lineNumber":3583,"author":{"gitId":"-"},"content":" \"ssri\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":3584,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":3585,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":3586,"author":{"gitId":"-"},"content":" \"vue-loader\": \"^17.0.0\",","isFullCredit":false},{"lineNumber":3587,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":3588,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\",","isFullCredit":false},{"lineNumber":3589,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":3590,"author":{"gitId":"-"},"content":" \"webpack-chain\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":3591,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"^4.7.3\",","isFullCredit":false},{"lineNumber":3592,"author":{"gitId":"-"},"content":" \"webpack-merge\": \"^5.7.3\",","isFullCredit":false},{"lineNumber":3593,"author":{"gitId":"-"},"content":" \"webpack-virtual-modules\": \"^0.4.2\",","isFullCredit":false},{"lineNumber":3594,"author":{"gitId":"-"},"content":" \"whatwg-fetch\": \"^3.6.2\"","isFullCredit":false},{"lineNumber":3595,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3596,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3597,"author":{"gitId":"-"},"content":" \"vue-cli-service\": \"bin/vue-cli-service.js\"","isFullCredit":false},{"lineNumber":3598,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3599,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3600,"author":{"gitId":"-"},"content":" \"node\": \"^12.0.0 || \u003e\u003d 14.0.0\"","isFullCredit":false},{"lineNumber":3601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3602,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3603,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":3604,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"*\"","isFullCredit":false},{"lineNumber":3605,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3606,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3607,"author":{"gitId":"-"},"content":" \"cache-loader\": {","isFullCredit":false},{"lineNumber":3608,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3610,"author":{"gitId":"-"},"content":" \"less-loader\": {","isFullCredit":false},{"lineNumber":3611,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3612,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3613,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": {","isFullCredit":false},{"lineNumber":3614,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3615,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3616,"author":{"gitId":"-"},"content":" \"raw-loader\": {","isFullCredit":false},{"lineNumber":3617,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3619,"author":{"gitId":"-"},"content":" \"sass-loader\": {","isFullCredit":false},{"lineNumber":3620,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3621,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3622,"author":{"gitId":"-"},"content":" \"stylus-loader\": {","isFullCredit":false},{"lineNumber":3623,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3624,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3625,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {","isFullCredit":false},{"lineNumber":3626,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3627,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3628,"author":{"gitId":"-"},"content":" \"webpack-sources\": {","isFullCredit":false},{"lineNumber":3629,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3630,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3631,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3632,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3633,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils\": {","isFullCredit":false},{"lineNumber":3634,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":3635,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3636,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3637,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3638,"author":{"gitId":"-"},"content":" \"@achrinza/node-ipc\": \"^9.2.5\",","isFullCredit":false},{"lineNumber":3639,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":3640,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":3641,"author":{"gitId":"-"},"content":" \"joi\": \"^17.4.0\",","isFullCredit":false},{"lineNumber":3642,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.2.1\",","isFullCredit":false},{"lineNumber":3643,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":3644,"author":{"gitId":"-"},"content":" \"node-fetch\": \"^2.6.7\",","isFullCredit":false},{"lineNumber":3645,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.2\",","isFullCredit":false},{"lineNumber":3646,"author":{"gitId":"-"},"content":" \"ora\": \"^5.3.0\",","isFullCredit":false},{"lineNumber":3647,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":3648,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\",","isFullCredit":false},{"lineNumber":3649,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3650,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3652,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":3653,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":3654,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3655,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3656,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3657,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":3658,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3659,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3660,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3661,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3662,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3663,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3664,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3665,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3666,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":3667,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":3668,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3669,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3670,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3671,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":3672,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":3673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3674,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3675,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3677,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3678,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":3679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3680,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3681,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":3682,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":3683,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3684,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3685,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3686,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":3687,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3688,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3689,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":3690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3692,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":3693,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":3694,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3695,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3697,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":3698,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3699,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3700,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3701,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3702,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3705,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":3706,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":3707,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3708,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3709,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3710,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3711,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3712,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3713,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3715,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3716,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/semver\": {","isFullCredit":false},{"lineNumber":3717,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":3718,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3719,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3720,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3721,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":3722,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3723,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":3724,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":3725,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3726,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3727,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":3728,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3729,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3730,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":3731,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":3732,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3733,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3734,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3735,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":3736,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3737,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3738,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":3739,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3740,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3741,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3742,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":3743,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3744,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3745,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3746,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-core\": {","isFullCredit":false},{"lineNumber":3747,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3748,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3749,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3750,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.23.9\",","isFullCredit":false},{"lineNumber":3751,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3752,"author":{"gitId":"-"},"content":" \"entities\": \"^4.5.0\",","isFullCredit":false},{"lineNumber":3753,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3754,"author":{"gitId":"-"},"content":" \"source-map-js\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":3755,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3756,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3757,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-dom\": {","isFullCredit":false},{"lineNumber":3758,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3759,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3760,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3761,"author":{"gitId":"-"},"content":" \"@vue/compiler-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3762,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3763,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3765,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-sfc\": {","isFullCredit":false},{"lineNumber":3766,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3767,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3768,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3769,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.23.9\",","isFullCredit":false},{"lineNumber":3770,"author":{"gitId":"-"},"content":" \"@vue/compiler-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3771,"author":{"gitId":"-"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3772,"author":{"gitId":"-"},"content":" \"@vue/compiler-ssr\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3773,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3774,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":3775,"author":{"gitId":"-"},"content":" \"magic-string\": \"^0.30.7\",","isFullCredit":false},{"lineNumber":3776,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.35\",","isFullCredit":false},{"lineNumber":3777,"author":{"gitId":"-"},"content":" \"source-map-js\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":3778,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3780,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-ssr\": {","isFullCredit":false},{"lineNumber":3781,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3782,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3783,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3784,"author":{"gitId":"-"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3785,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3786,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3788,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils\": {","isFullCredit":false},{"lineNumber":3789,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":3790,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3791,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3792,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3793,"author":{"gitId":"-"},"content":" \"consolidate\": \"^0.15.1\",","isFullCredit":false},{"lineNumber":3794,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3795,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":3796,"author":{"gitId":"-"},"content":" \"merge-source-map\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":3797,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.36\",","isFullCredit":false},{"lineNumber":3798,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":3799,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.1\",","isFullCredit":false},{"lineNumber":3800,"author":{"gitId":"-"},"content":" \"vue-template-es2015-compiler\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":3801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3802,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":3803,"author":{"gitId":"-"},"content":" \"prettier\": \"^1.18.2 || ^2.0.0\"","isFullCredit":false},{"lineNumber":3804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3805,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3806,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/hash-sum\": {","isFullCredit":false},{"lineNumber":3807,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3808,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3809,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3810,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3811,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":3812,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\",","isFullCredit":false},{"lineNumber":3813,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3814,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":3815,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3816,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3817,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\"","isFullCredit":false},{"lineNumber":3818,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3819,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3820,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/picocolors\": {","isFullCredit":false},{"lineNumber":3821,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":3822,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3823,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3825,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/postcss\": {","isFullCredit":false},{"lineNumber":3826,"author":{"gitId":"-"},"content":" \"version\": \"7.0.39\",","isFullCredit":false},{"lineNumber":3827,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3828,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3829,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3830,"author":{"gitId":"-"},"content":" \"picocolors\": \"^0.2.1\",","isFullCredit":false},{"lineNumber":3831,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\"","isFullCredit":false},{"lineNumber":3832,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3833,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3834,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":3835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3836,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":3837,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":3838,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":3839,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3840,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3841,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":3842,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":3843,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3844,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":3845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3846,"author":{"gitId":"-"},"content":" \"node_modules/@vue/devtools-api\": {","isFullCredit":false},{"lineNumber":3847,"author":{"gitId":"-"},"content":" \"version\": \"6.6.1\",","isFullCredit":false},{"lineNumber":3848,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3850,"author":{"gitId":"-"},"content":" \"node_modules/@vue/eslint-config-typescript\": {","isFullCredit":false},{"lineNumber":3851,"author":{"gitId":"-"},"content":" \"version\": \"13.0.0\",","isFullCredit":false},{"lineNumber":3852,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz\",","isFullCredit":false},{"lineNumber":3853,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg\u003d\u003d\",","isFullCredit":false},{"lineNumber":3854,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3855,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3856,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":3857,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":3858,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^9.3.1\"","isFullCredit":false},{"lineNumber":3859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3860,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":3861,"author":{"gitId":"-"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":3862,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3863,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3864,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\",","isFullCredit":false},{"lineNumber":3865,"author":{"gitId":"-"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":3866,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d4.7.4\"","isFullCredit":false},{"lineNumber":3867,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3868,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3869,"author":{"gitId":"-"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":3870,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3871,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3872,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3873,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3874,"author":{"gitId":"-"},"content":" \"node_modules/@vue/reactivity\": {","isFullCredit":false},{"lineNumber":3875,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3876,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3877,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3878,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3879,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3881,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-core\": {","isFullCredit":false},{"lineNumber":3882,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3883,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3884,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3885,"author":{"gitId":"-"},"content":" \"@vue/reactivity\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3886,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3887,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3888,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3889,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-dom\": {","isFullCredit":false},{"lineNumber":3890,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3891,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3892,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3893,"author":{"gitId":"-"},"content":" \"@vue/runtime-core\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3894,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3895,"author":{"gitId":"-"},"content":" \"csstype\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":3896,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3897,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3898,"author":{"gitId":"-"},"content":" \"node_modules/@vue/server-renderer\": {","isFullCredit":false},{"lineNumber":3899,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3900,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3901,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3902,"author":{"gitId":"-"},"content":" \"@vue/compiler-ssr\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3903,"author":{"gitId":"-"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3904,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3905,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3906,"author":{"gitId":"-"},"content":" \"vue\": \"3.4.21\"","isFullCredit":false},{"lineNumber":3907,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3908,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3909,"author":{"gitId":"-"},"content":" \"node_modules/@vue/shared\": {","isFullCredit":false},{"lineNumber":3910,"author":{"gitId":"-"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":3911,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3912,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3913,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15\": {","isFullCredit":false},{"lineNumber":3914,"author":{"gitId":"-"},"content":" \"name\": \"vue-loader\",","isFullCredit":false},{"lineNumber":3915,"author":{"gitId":"-"},"content":" \"version\": \"15.11.1\",","isFullCredit":false},{"lineNumber":3916,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3917,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3918,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3919,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":3920,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":3921,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":3922,"author":{"gitId":"-"},"content":" \"vue-hot-reload-api\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":3923,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":3924,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3925,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":3926,"author":{"gitId":"-"},"content":" \"css-loader\": \"*\",","isFullCredit":false},{"lineNumber":3927,"author":{"gitId":"-"},"content":" \"webpack\": \"^3.0.0 || ^4.1.0 || ^5.0.0-0\"","isFullCredit":false},{"lineNumber":3928,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3929,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":3930,"author":{"gitId":"-"},"content":" \"cache-loader\": {","isFullCredit":false},{"lineNumber":3931,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3933,"author":{"gitId":"-"},"content":" \"prettier\": {","isFullCredit":false},{"lineNumber":3934,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3936,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {","isFullCredit":false},{"lineNumber":3937,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":3938,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3939,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3940,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3941,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15/node_modules/hash-sum\": {","isFullCredit":false},{"lineNumber":3942,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":3943,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3944,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3945,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3946,"author":{"gitId":"-"},"content":" \"node_modules/@vue/web-component-wrapper\": {","isFullCredit":false},{"lineNumber":3947,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":3948,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":3949,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3951,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ast\": {","isFullCredit":false},{"lineNumber":3952,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3953,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3954,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3955,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-numbers\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3956,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\"","isFullCredit":false},{"lineNumber":3957,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3958,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3959,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/floating-point-hex-parser\": {","isFullCredit":false},{"lineNumber":3960,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3961,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3962,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3963,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-api-error\": {","isFullCredit":false},{"lineNumber":3964,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3965,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3966,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3967,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-buffer\": {","isFullCredit":false},{"lineNumber":3968,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3969,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3971,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-numbers\": {","isFullCredit":false},{"lineNumber":3972,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3973,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3974,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3975,"author":{"gitId":"-"},"content":" \"@webassemblyjs/floating-point-hex-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3976,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3977,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":3978,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3979,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3980,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {","isFullCredit":false},{"lineNumber":3981,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3982,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":3983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3984,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-section\": {","isFullCredit":false},{"lineNumber":3985,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3986,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3987,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3988,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3989,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3990,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3991,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\"","isFullCredit":false},{"lineNumber":3992,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":3993,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":3994,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ieee754\": {","isFullCredit":false},{"lineNumber":3995,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":3996,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":3997,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":3998,"author":{"gitId":"-"},"content":" \"@xtuc/ieee754\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":3999,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4000,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4001,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/leb128\": {","isFullCredit":false},{"lineNumber":4002,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4003,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":4004,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4005,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":4006,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4008,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/utf8\": {","isFullCredit":false},{"lineNumber":4009,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4010,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4011,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4012,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-edit\": {","isFullCredit":false},{"lineNumber":4013,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4014,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4015,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4016,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4017,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4018,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4019,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-section\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4020,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4021,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-opt\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4022,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4023,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wast-printer\": \"1.11.1\"","isFullCredit":false},{"lineNumber":4024,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4026,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-gen\": {","isFullCredit":false},{"lineNumber":4027,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4028,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4029,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4030,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4031,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4032,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4033,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4034,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\"","isFullCredit":false},{"lineNumber":4035,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4036,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4037,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-opt\": {","isFullCredit":false},{"lineNumber":4038,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4039,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4040,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4041,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4042,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4043,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4044,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\"","isFullCredit":false},{"lineNumber":4045,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4047,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-parser\": {","isFullCredit":false},{"lineNumber":4048,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4049,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4050,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4051,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4052,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4053,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4054,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4055,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4056,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\"","isFullCredit":false},{"lineNumber":4057,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4058,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4059,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wast-printer\": {","isFullCredit":false},{"lineNumber":4060,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4061,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4062,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4063,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":4064,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\"","isFullCredit":false},{"lineNumber":4065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4066,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4067,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/ieee754\": {","isFullCredit":false},{"lineNumber":4068,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":4069,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":4070,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4071,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/long\": {","isFullCredit":false},{"lineNumber":4072,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\",","isFullCredit":false},{"lineNumber":4073,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\"","isFullCredit":false},{"lineNumber":4074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4075,"author":{"gitId":"-"},"content":" \"node_modules/accepts\": {","isFullCredit":false},{"lineNumber":4076,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\",","isFullCredit":false},{"lineNumber":4077,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4078,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4079,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4080,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.34\",","isFullCredit":false},{"lineNumber":4081,"author":{"gitId":"-"},"content":" \"negotiator\": \"0.6.3\"","isFullCredit":false},{"lineNumber":4082,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4083,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4084,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":4085,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4087,"author":{"gitId":"-"},"content":" \"node_modules/acorn\": {","isFullCredit":false},{"lineNumber":4088,"author":{"gitId":"-"},"content":" \"version\": \"8.11.3\",","isFullCredit":false},{"lineNumber":4089,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4090,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4091,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":4092,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4093,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4094,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":4095,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4097,"author":{"gitId":"-"},"content":" \"node_modules/acorn-import-assertions\": {","isFullCredit":false},{"lineNumber":4098,"author":{"gitId":"-"},"content":" \"version\": \"1.8.0\",","isFullCredit":false},{"lineNumber":4099,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4100,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4101,"author":{"gitId":"-"},"content":" \"acorn\": \"^8\"","isFullCredit":false},{"lineNumber":4102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4103,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4104,"author":{"gitId":"-"},"content":" \"node_modules/acorn-jsx\": {","isFullCredit":false},{"lineNumber":4105,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\",","isFullCredit":false},{"lineNumber":4106,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4107,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4108,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4109,"author":{"gitId":"-"},"content":" \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"","isFullCredit":false},{"lineNumber":4110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4112,"author":{"gitId":"-"},"content":" \"node_modules/acorn-walk\": {","isFullCredit":false},{"lineNumber":4113,"author":{"gitId":"-"},"content":" \"version\": \"8.2.0\",","isFullCredit":false},{"lineNumber":4114,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4115,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4116,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":4118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4120,"author":{"gitId":"-"},"content":" \"node_modules/address\": {","isFullCredit":false},{"lineNumber":4121,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":4122,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4123,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4124,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4125,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":4126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4128,"author":{"gitId":"-"},"content":" \"node_modules/ajv\": {","isFullCredit":false},{"lineNumber":4129,"author":{"gitId":"-"},"content":" \"version\": \"6.12.6\",","isFullCredit":false},{"lineNumber":4130,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4131,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4132,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":4133,"author":{"gitId":"-"},"content":" \"fast-json-stable-stringify\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4134,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":4135,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":4136,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4137,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4138,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4139,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":4140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4141,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4142,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats\": {","isFullCredit":false},{"lineNumber":4143,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":4144,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4145,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4146,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4147,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":4148,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4149,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4150,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":4151,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4152,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":4153,"author":{"gitId":"-"},"content":" \"ajv\": {","isFullCredit":false},{"lineNumber":4154,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":4155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4156,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4157,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4158,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":4159,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":4160,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4161,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4162,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4163,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":4164,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4165,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":4166,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":4167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4168,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4169,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4170,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":4171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4172,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4173,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":4174,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4175,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4176,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4177,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4178,"author":{"gitId":"-"},"content":" \"node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":4179,"author":{"gitId":"-"},"content":" \"version\": \"3.5.2\",","isFullCredit":false},{"lineNumber":4180,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4181,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4182,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.9.1\"","isFullCredit":false},{"lineNumber":4183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4185,"author":{"gitId":"-"},"content":" \"node_modules/ansi-escapes\": {","isFullCredit":false},{"lineNumber":4186,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":4187,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4188,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4189,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4190,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":4191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4192,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4193,"author":{"gitId":"-"},"content":" \"node_modules/ansi-html-community\": {","isFullCredit":false},{"lineNumber":4194,"author":{"gitId":"-"},"content":" \"version\": \"0.0.8\",","isFullCredit":false},{"lineNumber":4195,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4196,"author":{"gitId":"-"},"content":" \"engines\": [","isFullCredit":false},{"lineNumber":4197,"author":{"gitId":"-"},"content":" \"node \u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":4198,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4199,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":4200,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4201,"author":{"gitId":"-"},"content":" \"ansi-html\": \"bin/ansi-html\"","isFullCredit":false},{"lineNumber":4202,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4203,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4204,"author":{"gitId":"-"},"content":" \"node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":4205,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":4206,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4207,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4208,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4209,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4211,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4212,"author":{"gitId":"-"},"content":" \"node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":4213,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":4214,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4215,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4217,"author":{"gitId":"-"},"content":" \"color-convert\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":4218,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4219,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":4221,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4223,"author":{"gitId":"-"},"content":" \"node_modules/any-promise\": {","isFullCredit":false},{"lineNumber":4224,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":4225,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4226,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4227,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4228,"author":{"gitId":"-"},"content":" \"node_modules/anymatch\": {","isFullCredit":false},{"lineNumber":4229,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":4230,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4231,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4232,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4233,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":4234,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.0.4\"","isFullCredit":false},{"lineNumber":4235,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4236,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4237,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":4238,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4239,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4240,"author":{"gitId":"-"},"content":" \"node_modules/arch\": {","isFullCredit":false},{"lineNumber":4241,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":4242,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4243,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4244,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4245,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4246,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":4247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4248,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4249,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":4250,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":4251,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4252,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4253,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":4254,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":4255,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4256,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4257,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4259,"author":{"gitId":"-"},"content":" \"node_modules/argparse\": {","isFullCredit":false},{"lineNumber":4260,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":4261,"author":{"gitId":"-"},"content":" \"license\": \"Python-2.0\"","isFullCredit":false},{"lineNumber":4262,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4263,"author":{"gitId":"-"},"content":" \"node_modules/array-buffer-byte-length\": {","isFullCredit":false},{"lineNumber":4264,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":4265,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4266,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4267,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4268,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":4269,"author":{"gitId":"-"},"content":" \"is-array-buffer\": \"^3.0.4\"","isFullCredit":false},{"lineNumber":4270,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4271,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4272,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4274,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4275,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4278,"author":{"gitId":"-"},"content":" \"node_modules/array-flatten\": {","isFullCredit":false},{"lineNumber":4279,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":4280,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4281,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4283,"author":{"gitId":"-"},"content":" \"node_modules/array-includes\": {","isFullCredit":false},{"lineNumber":4284,"author":{"gitId":"-"},"content":" \"version\": \"3.1.7\",","isFullCredit":false},{"lineNumber":4285,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4286,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4287,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4288,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4289,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":4290,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":4291,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":4292,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":4293,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4294,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4295,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4297,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4298,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4299,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4301,"author":{"gitId":"-"},"content":" \"node_modules/array-union\": {","isFullCredit":false},{"lineNumber":4302,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":4303,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4304,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4305,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4306,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4307,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4308,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4309,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.filter\": {","isFullCredit":false},{"lineNumber":4310,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4311,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4312,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4313,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4314,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4315,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":4316,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":4317,"author":{"gitId":"-"},"content":" \"es-array-method-boxes-properly\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4318,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":4319,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4320,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4321,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4322,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4323,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4324,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4325,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4326,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4327,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.findlastindex\": {","isFullCredit":false},{"lineNumber":4328,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":4329,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4330,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4331,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4332,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":4333,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":4334,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":4335,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":4336,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":4337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4338,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4339,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4340,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4341,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4342,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4343,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4344,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4345,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flat\": {","isFullCredit":false},{"lineNumber":4346,"author":{"gitId":"-"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":4347,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4348,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4349,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4350,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4351,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":4352,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":4353,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4354,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4355,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4356,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4357,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4358,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4359,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4360,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4361,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4362,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flatmap\": {","isFullCredit":false},{"lineNumber":4363,"author":{"gitId":"-"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":4364,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4365,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4366,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4367,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":4368,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":4369,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":4370,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4371,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4372,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4373,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4374,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4375,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4376,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4377,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4378,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4379,"author":{"gitId":"-"},"content":" \"node_modules/arraybuffer.prototype.slice\": {","isFullCredit":false},{"lineNumber":4380,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4381,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4382,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4383,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4384,"author":{"gitId":"-"},"content":" \"array-buffer-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":4385,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":4386,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":4387,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":4388,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":4389,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":4390,"author":{"gitId":"-"},"content":" \"is-array-buffer\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":4391,"author":{"gitId":"-"},"content":" \"is-shared-array-buffer\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":4392,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4393,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4394,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4395,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4396,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4397,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4398,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4399,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4400,"author":{"gitId":"-"},"content":" \"node_modules/asap\": {","isFullCredit":false},{"lineNumber":4401,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":4402,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4403,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4405,"author":{"gitId":"-"},"content":" \"node_modules/assert-never\": {","isFullCredit":false},{"lineNumber":4406,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":4407,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4408,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4409,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4410,"author":{"gitId":"-"},"content":" \"node_modules/astral-regex\": {","isFullCredit":false},{"lineNumber":4411,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4412,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4413,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4414,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4415,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4417,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4418,"author":{"gitId":"-"},"content":" \"node_modules/async\": {","isFullCredit":false},{"lineNumber":4419,"author":{"gitId":"-"},"content":" \"version\": \"2.6.4\",","isFullCredit":false},{"lineNumber":4420,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4421,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4422,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4423,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.14\"","isFullCredit":false},{"lineNumber":4424,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4426,"author":{"gitId":"-"},"content":" \"node_modules/at-least-node\": {","isFullCredit":false},{"lineNumber":4427,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4428,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4429,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":4430,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4431,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":4432,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4433,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4434,"author":{"gitId":"-"},"content":" \"node_modules/autoprefixer\": {","isFullCredit":false},{"lineNumber":4435,"author":{"gitId":"-"},"content":" \"version\": \"10.4.13\",","isFullCredit":false},{"lineNumber":4436,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4437,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4438,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4439,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":4440,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":4441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4442,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4443,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":4444,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\"","isFullCredit":false},{"lineNumber":4445,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4446,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4447,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4448,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4449,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":4450,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001426\",","isFullCredit":false},{"lineNumber":4451,"author":{"gitId":"-"},"content":" \"fraction.js\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":4452,"author":{"gitId":"-"},"content":" \"normalize-range\": \"^0.1.2\",","isFullCredit":false},{"lineNumber":4453,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4454,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":4455,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4456,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4457,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"bin/autoprefixer\"","isFullCredit":false},{"lineNumber":4458,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4459,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4460,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":4461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4462,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4463,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":4464,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4465,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4466,"author":{"gitId":"-"},"content":" \"node_modules/available-typed-arrays\": {","isFullCredit":false},{"lineNumber":4467,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":4468,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4469,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4470,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4471,"author":{"gitId":"-"},"content":" \"possible-typed-array-names\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4472,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4473,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4476,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4477,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4478,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4480,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader\": {","isFullCredit":false},{"lineNumber":4481,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\",","isFullCredit":false},{"lineNumber":4482,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4483,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4484,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4485,"author":{"gitId":"-"},"content":" \"find-cache-dir\": \"^3.3.1\",","isFullCredit":false},{"lineNumber":4486,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4487,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":4488,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^2.6.5\"","isFullCredit":false},{"lineNumber":4489,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4490,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4491,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9\"","isFullCredit":false},{"lineNumber":4492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4493,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4494,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":4495,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d2\"","isFullCredit":false},{"lineNumber":4496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4497,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4498,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader/node_modules/loader-utils\": {","isFullCredit":false},{"lineNumber":4499,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":4500,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4501,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4502,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4503,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\",","isFullCredit":false},{"lineNumber":4504,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":4505,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\"","isFullCredit":false},{"lineNumber":4506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4507,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4508,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\"","isFullCredit":false},{"lineNumber":4509,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4510,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4511,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-dynamic-import-node\": {","isFullCredit":false},{"lineNumber":4512,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":4513,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4514,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4515,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4516,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":4517,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4518,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4519,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs2\": {","isFullCredit":false},{"lineNumber":4520,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\",","isFullCredit":false},{"lineNumber":4521,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4522,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4523,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4524,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.17.7\",","isFullCredit":false},{"lineNumber":4525,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":4526,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.1\"","isFullCredit":false},{"lineNumber":4527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4528,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4529,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":4530,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4531,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4532,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs3\": {","isFullCredit":false},{"lineNumber":4533,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":4534,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4535,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4536,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4537,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":4538,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\"","isFullCredit":false},{"lineNumber":4539,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4540,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4541,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":4542,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4543,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4544,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-regenerator\": {","isFullCredit":false},{"lineNumber":4545,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":4546,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4547,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4548,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4549,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\"","isFullCredit":false},{"lineNumber":4550,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4551,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":4552,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\"","isFullCredit":false},{"lineNumber":4553,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4554,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4555,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime\": {","isFullCredit":false},{"lineNumber":4556,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\",","isFullCredit":false},{"lineNumber":4557,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4558,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4559,"author":{"gitId":"-"},"content":" \"core-js\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":4560,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.11.0\"","isFullCredit":false},{"lineNumber":4561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4563,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/core-js\": {","isFullCredit":false},{"lineNumber":4564,"author":{"gitId":"-"},"content":" \"version\": \"2.6.12\",","isFullCredit":false},{"lineNumber":4565,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":4566,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4567,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4568,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/regenerator-runtime\": {","isFullCredit":false},{"lineNumber":4569,"author":{"gitId":"-"},"content":" \"version\": \"0.11.1\",","isFullCredit":false},{"lineNumber":4570,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4571,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4572,"author":{"gitId":"-"},"content":" \"node_modules/babel-types\": {","isFullCredit":false},{"lineNumber":4573,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\",","isFullCredit":false},{"lineNumber":4574,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4575,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4576,"author":{"gitId":"-"},"content":" \"babel-runtime\": \"^6.26.0\",","isFullCredit":false},{"lineNumber":4577,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":4578,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.4\",","isFullCredit":false},{"lineNumber":4579,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":4580,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4581,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4582,"author":{"gitId":"-"},"content":" \"node_modules/babel-types/node_modules/to-fast-properties\": {","isFullCredit":false},{"lineNumber":4583,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":4584,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4585,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4586,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4587,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4588,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4589,"author":{"gitId":"-"},"content":" \"node_modules/babel-walk\": {","isFullCredit":false},{"lineNumber":4590,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0-canary-5\",","isFullCredit":false},{"lineNumber":4591,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4592,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4593,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4594,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\"","isFullCredit":false},{"lineNumber":4595,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4596,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4597,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":4598,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4599,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4600,"author":{"gitId":"-"},"content":" \"node_modules/babylon\": {","isFullCredit":false},{"lineNumber":4601,"author":{"gitId":"-"},"content":" \"version\": \"6.18.0\",","isFullCredit":false},{"lineNumber":4602,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4603,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4604,"author":{"gitId":"-"},"content":" \"babylon\": \"bin/babylon.js\"","isFullCredit":false},{"lineNumber":4605,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4606,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4607,"author":{"gitId":"-"},"content":" \"node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":4608,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":4609,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4610,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4611,"author":{"gitId":"-"},"content":" \"node_modules/base64-js\": {","isFullCredit":false},{"lineNumber":4612,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\",","isFullCredit":false},{"lineNumber":4613,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4614,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4615,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4616,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4617,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":4618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4619,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4620,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":4621,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":4622,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4623,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4624,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":4625,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":4626,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4627,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4628,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4630,"author":{"gitId":"-"},"content":" \"node_modules/batch\": {","isFullCredit":false},{"lineNumber":4631,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":4632,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4633,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4634,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4635,"author":{"gitId":"-"},"content":" \"node_modules/big.js\": {","isFullCredit":false},{"lineNumber":4636,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\",","isFullCredit":false},{"lineNumber":4637,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4638,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4639,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4640,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":4641,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4642,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4643,"author":{"gitId":"-"},"content":" \"node_modules/binary-extensions\": {","isFullCredit":false},{"lineNumber":4644,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":4645,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4646,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4647,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4648,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4651,"author":{"gitId":"-"},"content":" \"node_modules/bl\": {","isFullCredit":false},{"lineNumber":4652,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":4653,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4654,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4655,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4656,"author":{"gitId":"-"},"content":" \"buffer\": \"^5.5.0\",","isFullCredit":false},{"lineNumber":4657,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.4\",","isFullCredit":false},{"lineNumber":4658,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.4.0\"","isFullCredit":false},{"lineNumber":4659,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4661,"author":{"gitId":"-"},"content":" \"node_modules/bl/node_modules/readable-stream\": {","isFullCredit":false},{"lineNumber":4662,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\",","isFullCredit":false},{"lineNumber":4663,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4664,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4665,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4666,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":4667,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":4668,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":4669,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4670,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4671,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":4672,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4674,"author":{"gitId":"-"},"content":" \"node_modules/bluebird\": {","isFullCredit":false},{"lineNumber":4675,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\",","isFullCredit":false},{"lineNumber":4676,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4677,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4678,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4679,"author":{"gitId":"-"},"content":" \"node_modules/body-parser\": {","isFullCredit":false},{"lineNumber":4680,"author":{"gitId":"-"},"content":" \"version\": \"1.20.2\",","isFullCredit":false},{"lineNumber":4681,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4682,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4683,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4684,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\",","isFullCredit":false},{"lineNumber":4685,"author":{"gitId":"-"},"content":" \"content-type\": \"~1.0.5\",","isFullCredit":false},{"lineNumber":4686,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":4687,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4688,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\",","isFullCredit":false},{"lineNumber":4689,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4690,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\",","isFullCredit":false},{"lineNumber":4691,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\",","isFullCredit":false},{"lineNumber":4692,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\",","isFullCredit":false},{"lineNumber":4693,"author":{"gitId":"-"},"content":" \"raw-body\": \"2.5.2\",","isFullCredit":false},{"lineNumber":4694,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\",","isFullCredit":false},{"lineNumber":4695,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\"","isFullCredit":false},{"lineNumber":4696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4697,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4698,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\",","isFullCredit":false},{"lineNumber":4699,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\"","isFullCredit":false},{"lineNumber":4700,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4701,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4702,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/bytes\": {","isFullCredit":false},{"lineNumber":4703,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":4704,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4705,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4706,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4707,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":4708,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4710,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/debug\": {","isFullCredit":false},{"lineNumber":4711,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":4712,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4713,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4714,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4715,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":4716,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4717,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4718,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/depd\": {","isFullCredit":false},{"lineNumber":4719,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4720,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4721,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4722,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4723,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":4724,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4725,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4726,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/iconv-lite\": {","isFullCredit":false},{"lineNumber":4727,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\",","isFullCredit":false},{"lineNumber":4728,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4729,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4730,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4731,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\"","isFullCredit":false},{"lineNumber":4732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4733,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4734,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":4735,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4736,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4737,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/ms\": {","isFullCredit":false},{"lineNumber":4738,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":4739,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4740,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4741,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4742,"author":{"gitId":"-"},"content":" \"node_modules/bonjour-service\": {","isFullCredit":false},{"lineNumber":4743,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":4744,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4745,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4746,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4747,"author":{"gitId":"-"},"content":" \"array-flatten\": \"^2.1.2\",","isFullCredit":false},{"lineNumber":4748,"author":{"gitId":"-"},"content":" \"dns-equal\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4749,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\",","isFullCredit":false},{"lineNumber":4750,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"^7.2.5\"","isFullCredit":false},{"lineNumber":4751,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4752,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4753,"author":{"gitId":"-"},"content":" \"node_modules/boolbase\": {","isFullCredit":false},{"lineNumber":4754,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4755,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":4756,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4757,"author":{"gitId":"-"},"content":" \"node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":4758,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":4759,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4760,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4761,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":4762,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4763,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4764,"author":{"gitId":"-"},"content":" \"node_modules/braces\": {","isFullCredit":false},{"lineNumber":4765,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":4766,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4767,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4768,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4769,"author":{"gitId":"-"},"content":" \"fill-range\": \"^7.0.1\"","isFullCredit":false},{"lineNumber":4770,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4771,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4772,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":4773,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4774,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4775,"author":{"gitId":"-"},"content":" \"node_modules/browserslist\": {","isFullCredit":false},{"lineNumber":4776,"author":{"gitId":"-"},"content":" \"version\": \"4.21.4\",","isFullCredit":false},{"lineNumber":4777,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4778,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4779,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":4780,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":4781,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4782,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4783,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":4784,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"","isFullCredit":false},{"lineNumber":4785,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4786,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4787,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4788,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4789,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001400\",","isFullCredit":false},{"lineNumber":4790,"author":{"gitId":"-"},"content":" \"electron-to-chromium\": \"^1.4.251\",","isFullCredit":false},{"lineNumber":4791,"author":{"gitId":"-"},"content":" \"node-releases\": \"^2.0.6\",","isFullCredit":false},{"lineNumber":4792,"author":{"gitId":"-"},"content":" \"update-browserslist-db\": \"^1.0.9\"","isFullCredit":false},{"lineNumber":4793,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4794,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":4795,"author":{"gitId":"-"},"content":" \"browserslist\": \"cli.js\"","isFullCredit":false},{"lineNumber":4796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4797,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4798,"author":{"gitId":"-"},"content":" \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || \u003e\u003d13.7\"","isFullCredit":false},{"lineNumber":4799,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4800,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4801,"author":{"gitId":"-"},"content":" \"node_modules/buffer\": {","isFullCredit":false},{"lineNumber":4802,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\",","isFullCredit":false},{"lineNumber":4803,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4804,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4805,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4806,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":4807,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":4808,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4809,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4810,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":4811,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":4812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4813,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4814,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":4815,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":4816,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4817,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4818,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4819,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4820,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":4821,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":4822,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4823,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4824,"author":{"gitId":"-"},"content":" \"node_modules/buffer-from\": {","isFullCredit":false},{"lineNumber":4825,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":4826,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":4827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4828,"author":{"gitId":"-"},"content":" \"node_modules/bytes\": {","isFullCredit":false},{"lineNumber":4829,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":4830,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4831,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4832,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4833,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":4834,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4836,"author":{"gitId":"-"},"content":" \"node_modules/call-bind\": {","isFullCredit":false},{"lineNumber":4837,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":4838,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4839,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4840,"author":{"gitId":"-"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4841,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":4842,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":4843,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":4844,"author":{"gitId":"-"},"content":" \"set-function-length\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":4845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4846,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4847,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":4848,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4849,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4850,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":4851,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4853,"author":{"gitId":"-"},"content":" \"node_modules/callsites\": {","isFullCredit":false},{"lineNumber":4854,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":4855,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4856,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4857,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4858,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":4859,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4861,"author":{"gitId":"-"},"content":" \"node_modules/camel-case\": {","isFullCredit":false},{"lineNumber":4862,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":4863,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4864,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4865,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4866,"author":{"gitId":"-"},"content":" \"pascal-case\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":4867,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":4868,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4869,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4870,"author":{"gitId":"-"},"content":" \"node_modules/camelcase\": {","isFullCredit":false},{"lineNumber":4871,"author":{"gitId":"-"},"content":" \"version\": \"6.3.0\",","isFullCredit":false},{"lineNumber":4872,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4873,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4874,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4875,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":4876,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4877,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4878,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":4879,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4881,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-api\": {","isFullCredit":false},{"lineNumber":4882,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":4883,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4884,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4885,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4886,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":4887,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4888,"author":{"gitId":"-"},"content":" \"lodash.memoize\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":4889,"author":{"gitId":"-"},"content":" \"lodash.uniq\": \"^4.5.0\"","isFullCredit":false},{"lineNumber":4890,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4892,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-lite\": {","isFullCredit":false},{"lineNumber":4893,"author":{"gitId":"-"},"content":" \"version\": \"1.0.30001446\",","isFullCredit":false},{"lineNumber":4894,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4895,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4896,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":4897,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":4898,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4899,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4900,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":4901,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"","isFullCredit":false},{"lineNumber":4902,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4903,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4904,"author":{"gitId":"-"},"content":" \"license\": \"CC-BY-4.0\"","isFullCredit":false},{"lineNumber":4905,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4906,"author":{"gitId":"-"},"content":" \"node_modules/case-sensitive-paths-webpack-plugin\": {","isFullCredit":false},{"lineNumber":4907,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":4908,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4909,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4910,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4911,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":4912,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4914,"author":{"gitId":"-"},"content":" \"node_modules/chalk\": {","isFullCredit":false},{"lineNumber":4915,"author":{"gitId":"-"},"content":" \"version\": \"2.4.2\",","isFullCredit":false},{"lineNumber":4916,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4917,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4918,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4919,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":4920,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":4921,"author":{"gitId":"-"},"content":" \"supports-color\": \"^5.3.0\"","isFullCredit":false},{"lineNumber":4922,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4923,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4924,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":4925,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4926,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4927,"author":{"gitId":"-"},"content":" \"node_modules/character-parser\": {","isFullCredit":false},{"lineNumber":4928,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":4929,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4930,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4931,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":4932,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4933,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4934,"author":{"gitId":"-"},"content":" \"node_modules/cheerio\": {","isFullCredit":false},{"lineNumber":4935,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-rc.12\",","isFullCredit":false},{"lineNumber":4936,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4937,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4938,"author":{"gitId":"-"},"content":" \"cheerio-select\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":4939,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":4940,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\",","isFullCredit":false},{"lineNumber":4941,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":4942,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":4943,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":4944,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":4945,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4946,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":4947,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":4948,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4949,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4950,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/cheerio?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4951,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4952,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4953,"author":{"gitId":"-"},"content":" \"node_modules/cheerio-select\": {","isFullCredit":false},{"lineNumber":4954,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":4955,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":4956,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4957,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":4958,"author":{"gitId":"-"},"content":" \"css-select\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":4959,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\",","isFullCredit":false},{"lineNumber":4960,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":4961,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\",","isFullCredit":false},{"lineNumber":4962,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\"","isFullCredit":false},{"lineNumber":4963,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4964,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4965,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":4966,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4967,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4968,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5\": {","isFullCredit":false},{"lineNumber":4969,"author":{"gitId":"-"},"content":" \"version\": \"7.1.2\",","isFullCredit":false},{"lineNumber":4970,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4971,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4972,"author":{"gitId":"-"},"content":" \"entities\": \"^4.4.0\"","isFullCredit":false},{"lineNumber":4973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4974,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4975,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4976,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4977,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4978,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5-htmlparser2-tree-adapter\": {","isFullCredit":false},{"lineNumber":4979,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":4980,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4981,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":4982,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":4983,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":4984,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4985,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":4986,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":4987,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4988,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":4989,"author":{"gitId":"-"},"content":" \"node_modules/chokidar\": {","isFullCredit":false},{"lineNumber":4990,"author":{"gitId":"-"},"content":" \"version\": \"3.5.3\",","isFullCredit":false},{"lineNumber":4991,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":4992,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":4993,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":4994,"author":{"gitId":"-"},"content":" \"type\": \"individual\",","isFullCredit":false},{"lineNumber":4995,"author":{"gitId":"-"},"content":" \"url\": \"https://paulmillr.com/funding/\"","isFullCredit":false},{"lineNumber":4996,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":4997,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":4998,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":4999,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5000,"author":{"gitId":"-"},"content":" \"anymatch\": \"~3.1.2\",","isFullCredit":false},{"lineNumber":5001,"author":{"gitId":"-"},"content":" \"braces\": \"~3.0.2\",","isFullCredit":false},{"lineNumber":5002,"author":{"gitId":"-"},"content":" \"glob-parent\": \"~5.1.2\",","isFullCredit":false},{"lineNumber":5003,"author":{"gitId":"-"},"content":" \"is-binary-path\": \"~2.1.0\",","isFullCredit":false},{"lineNumber":5004,"author":{"gitId":"-"},"content":" \"is-glob\": \"~4.0.1\",","isFullCredit":false},{"lineNumber":5005,"author":{"gitId":"-"},"content":" \"normalize-path\": \"~3.0.0\",","isFullCredit":false},{"lineNumber":5006,"author":{"gitId":"-"},"content":" \"readdirp\": \"~3.6.0\"","isFullCredit":false},{"lineNumber":5007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5008,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.10.0\"","isFullCredit":false},{"lineNumber":5010,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5011,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":5012,"author":{"gitId":"-"},"content":" \"fsevents\": \"~2.3.2\"","isFullCredit":false},{"lineNumber":5013,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5015,"author":{"gitId":"-"},"content":" \"node_modules/chokidar/node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":5016,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":5017,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5018,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5019,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5020,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":5021,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5022,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5023,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":5024,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5026,"author":{"gitId":"-"},"content":" \"node_modules/chrome-trace-event\": {","isFullCredit":false},{"lineNumber":5027,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":5028,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5029,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5030,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":5031,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5032,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5033,"author":{"gitId":"-"},"content":" \"node_modules/ci-info\": {","isFullCredit":false},{"lineNumber":5034,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":5035,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5036,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5038,"author":{"gitId":"-"},"content":" \"node_modules/clean-css\": {","isFullCredit":false},{"lineNumber":5039,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\",","isFullCredit":false},{"lineNumber":5040,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5041,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5042,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5043,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.0\"","isFullCredit":false},{"lineNumber":5044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5045,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5046,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0\"","isFullCredit":false},{"lineNumber":5047,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5048,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5049,"author":{"gitId":"-"},"content":" \"node_modules/cli-cursor\": {","isFullCredit":false},{"lineNumber":5050,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":5051,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5052,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5053,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5054,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\"","isFullCredit":false},{"lineNumber":5055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5056,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5057,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5058,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5059,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5060,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight\": {","isFullCredit":false},{"lineNumber":5061,"author":{"gitId":"-"},"content":" \"version\": \"2.1.11\",","isFullCredit":false},{"lineNumber":5062,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5063,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5064,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5065,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5066,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.7.1\",","isFullCredit":false},{"lineNumber":5067,"author":{"gitId":"-"},"content":" \"mz\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":5068,"author":{"gitId":"-"},"content":" \"parse5\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5069,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":5070,"author":{"gitId":"-"},"content":" \"yargs\": \"^16.0.0\"","isFullCredit":false},{"lineNumber":5071,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5072,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5073,"author":{"gitId":"-"},"content":" \"highlight\": \"bin/highlight\"","isFullCredit":false},{"lineNumber":5074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5075,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5076,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\",","isFullCredit":false},{"lineNumber":5077,"author":{"gitId":"-"},"content":" \"npm\": \"\u003e\u003d5.0.0\"","isFullCredit":false},{"lineNumber":5078,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5079,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5080,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":5081,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":5082,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5083,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5084,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5085,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5087,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5088,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5089,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5090,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5091,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5092,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5093,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5094,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":5095,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":5096,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5097,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5098,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5099,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":5100,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":5101,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5102,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5103,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5104,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5105,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5106,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5109,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":5110,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5111,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5112,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5113,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5114,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":5115,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5116,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":5118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5120,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":5121,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":5122,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5123,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5124,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5125,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":5126,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5127,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5128,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5129,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5130,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5132,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5133,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":5134,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":5135,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5136,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5137,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5138,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":5139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5140,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5141,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5142,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5143,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5144,"author":{"gitId":"-"},"content":" \"node_modules/cli-spinners\": {","isFullCredit":false},{"lineNumber":5145,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\",","isFullCredit":false},{"lineNumber":5146,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5147,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5148,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5149,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5150,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5151,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5152,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5153,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5154,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5155,"author":{"gitId":"-"},"content":" \"node_modules/clipboardy\": {","isFullCredit":false},{"lineNumber":5156,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":5157,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5158,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5159,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5160,"author":{"gitId":"-"},"content":" \"arch\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":5161,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5162,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":5163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5164,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5165,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5168,"author":{"gitId":"-"},"content":" \"node_modules/cliui\": {","isFullCredit":false},{"lineNumber":5169,"author":{"gitId":"-"},"content":" \"version\": \"7.0.4\",","isFullCredit":false},{"lineNumber":5170,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5171,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5172,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5173,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":5174,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":5175,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":5176,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5177,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5178,"author":{"gitId":"-"},"content":" \"node_modules/clone\": {","isFullCredit":false},{"lineNumber":5179,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":5180,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5181,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5182,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5183,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\"","isFullCredit":false},{"lineNumber":5184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5186,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep\": {","isFullCredit":false},{"lineNumber":5187,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":5188,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5189,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5190,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5191,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^2.0.4\",","isFullCredit":false},{"lineNumber":5192,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":5193,"author":{"gitId":"-"},"content":" \"shallow-clone\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":5194,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5195,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5196,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5197,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5198,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5199,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep/node_modules/is-plain-object\": {","isFullCredit":false},{"lineNumber":5200,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":5201,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5202,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5203,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5204,"author":{"gitId":"-"},"content":" \"isobject\": \"^3.0.1\"","isFullCredit":false},{"lineNumber":5205,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5206,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5207,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5208,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5209,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5210,"author":{"gitId":"-"},"content":" \"node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":5211,"author":{"gitId":"-"},"content":" \"version\": \"1.9.3\",","isFullCredit":false},{"lineNumber":5212,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5213,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5214,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5215,"author":{"gitId":"-"},"content":" \"color-name\": \"1.1.3\"","isFullCredit":false},{"lineNumber":5216,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5217,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5218,"author":{"gitId":"-"},"content":" \"node_modules/color-name\": {","isFullCredit":false},{"lineNumber":5219,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\",","isFullCredit":false},{"lineNumber":5220,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5221,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5223,"author":{"gitId":"-"},"content":" \"node_modules/colord\": {","isFullCredit":false},{"lineNumber":5224,"author":{"gitId":"-"},"content":" \"version\": \"2.9.3\",","isFullCredit":false},{"lineNumber":5225,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5226,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5227,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5228,"author":{"gitId":"-"},"content":" \"node_modules/colorette\": {","isFullCredit":false},{"lineNumber":5229,"author":{"gitId":"-"},"content":" \"version\": \"2.0.19\",","isFullCredit":false},{"lineNumber":5230,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5231,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5232,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5233,"author":{"gitId":"-"},"content":" \"node_modules/commander\": {","isFullCredit":false},{"lineNumber":5234,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\",","isFullCredit":false},{"lineNumber":5235,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5236,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5237,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5238,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12\"","isFullCredit":false},{"lineNumber":5239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5240,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5241,"author":{"gitId":"-"},"content":" \"node_modules/commondir\": {","isFullCredit":false},{"lineNumber":5242,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":5243,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5244,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5245,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5246,"author":{"gitId":"-"},"content":" \"node_modules/compressible\": {","isFullCredit":false},{"lineNumber":5247,"author":{"gitId":"-"},"content":" \"version\": \"2.0.18\",","isFullCredit":false},{"lineNumber":5248,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5249,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5250,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5251,"author":{"gitId":"-"},"content":" \"mime-db\": \"\u003e\u003d 1.43.0 \u003c 2\"","isFullCredit":false},{"lineNumber":5252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5253,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5254,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":5255,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5256,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5257,"author":{"gitId":"-"},"content":" \"node_modules/compression\": {","isFullCredit":false},{"lineNumber":5258,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\",","isFullCredit":false},{"lineNumber":5259,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5260,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5261,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5262,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.5\",","isFullCredit":false},{"lineNumber":5263,"author":{"gitId":"-"},"content":" \"bytes\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5264,"author":{"gitId":"-"},"content":" \"compressible\": \"~2.0.16\",","isFullCredit":false},{"lineNumber":5265,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":5266,"author":{"gitId":"-"},"content":" \"on-headers\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":5267,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.1.2\",","isFullCredit":false},{"lineNumber":5268,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\"","isFullCredit":false},{"lineNumber":5269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5270,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5271,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":5272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5274,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/debug\": {","isFullCredit":false},{"lineNumber":5275,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":5276,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5277,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5278,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5279,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":5280,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5282,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/ms\": {","isFullCredit":false},{"lineNumber":5283,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5284,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5285,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5286,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5287,"author":{"gitId":"-"},"content":" \"node_modules/concat-map\": {","isFullCredit":false},{"lineNumber":5288,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\",","isFullCredit":false},{"lineNumber":5289,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5290,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5291,"author":{"gitId":"-"},"content":" \"node_modules/confusing-browser-globals\": {","isFullCredit":false},{"lineNumber":5292,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\",","isFullCredit":false},{"lineNumber":5293,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5294,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5295,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5296,"author":{"gitId":"-"},"content":" \"node_modules/connect-history-api-fallback\": {","isFullCredit":false},{"lineNumber":5297,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5298,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5299,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5300,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5301,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\"","isFullCredit":false},{"lineNumber":5302,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5303,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5304,"author":{"gitId":"-"},"content":" \"node_modules/consolidate\": {","isFullCredit":false},{"lineNumber":5305,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\",","isFullCredit":false},{"lineNumber":5306,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5307,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5308,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5309,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.1.1\"","isFullCredit":false},{"lineNumber":5310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5311,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5312,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\"","isFullCredit":false},{"lineNumber":5313,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5314,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5315,"author":{"gitId":"-"},"content":" \"node_modules/constantinople\": {","isFullCredit":false},{"lineNumber":5316,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":5317,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5318,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5319,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5320,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":5321,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.6.1\"","isFullCredit":false},{"lineNumber":5322,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5323,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5324,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition\": {","isFullCredit":false},{"lineNumber":5325,"author":{"gitId":"-"},"content":" \"version\": \"0.5.4\",","isFullCredit":false},{"lineNumber":5326,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5327,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5328,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5329,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\"","isFullCredit":false},{"lineNumber":5330,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5331,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5332,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":5333,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5335,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition/node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":5336,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":5337,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5338,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":5339,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":5340,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5341,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":5342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5343,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":5344,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":5345,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":5346,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5347,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":5348,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":5349,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":5350,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5351,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":5352,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5354,"author":{"gitId":"-"},"content":" \"node_modules/content-type\": {","isFullCredit":false},{"lineNumber":5355,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":5356,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5357,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5358,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5359,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":5360,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5361,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5362,"author":{"gitId":"-"},"content":" \"node_modules/convert-source-map\": {","isFullCredit":false},{"lineNumber":5363,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\",","isFullCredit":false},{"lineNumber":5364,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5365,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5366,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5367,"author":{"gitId":"-"},"content":" \"node_modules/cookie\": {","isFullCredit":false},{"lineNumber":5368,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":5369,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5370,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5371,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5372,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":5373,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5374,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5375,"author":{"gitId":"-"},"content":" \"node_modules/cookie-signature\": {","isFullCredit":false},{"lineNumber":5376,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":5377,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5378,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5379,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5380,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin\": {","isFullCredit":false},{"lineNumber":5381,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":5382,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5383,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5384,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5385,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":5386,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":5387,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.3\",","isFullCredit":false},{"lineNumber":5388,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5389,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":5390,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":5391,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5392,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5393,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":5394,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5395,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5396,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5397,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":5398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5399,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5400,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":5401,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5402,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5403,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":5404,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":5405,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5406,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5407,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5408,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":5409,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":5410,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":5411,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5412,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5413,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":5414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5415,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5416,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5417,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":5418,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5419,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5420,"author":{"gitId":"-"},"content":" \"node_modules/core-js\": {","isFullCredit":false},{"lineNumber":5421,"author":{"gitId":"-"},"content":" \"version\": \"3.36.1\",","isFullCredit":false},{"lineNumber":5422,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":5423,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5424,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5425,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5426,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\"","isFullCredit":false},{"lineNumber":5427,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5428,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5429,"author":{"gitId":"-"},"content":" \"node_modules/core-js-compat\": {","isFullCredit":false},{"lineNumber":5430,"author":{"gitId":"-"},"content":" \"version\": \"3.27.2\",","isFullCredit":false},{"lineNumber":5431,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5432,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5433,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5434,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\"","isFullCredit":false},{"lineNumber":5435,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5436,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5437,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5438,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\"","isFullCredit":false},{"lineNumber":5439,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5440,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5441,"author":{"gitId":"-"},"content":" \"node_modules/core-util-is\": {","isFullCredit":false},{"lineNumber":5442,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":5443,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5445,"author":{"gitId":"-"},"content":" \"node_modules/cosmiconfig\": {","isFullCredit":false},{"lineNumber":5446,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":5447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5448,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5449,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5450,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5451,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":5452,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":5453,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5454,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.7.2\"","isFullCredit":false},{"lineNumber":5455,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5456,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5457,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5458,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5460,"author":{"gitId":"-"},"content":" \"node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":5461,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\",","isFullCredit":false},{"lineNumber":5462,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5463,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5464,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5465,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":5466,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5467,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5468,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5469,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5470,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":5471,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5472,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5473,"author":{"gitId":"-"},"content":" \"node_modules/css-declaration-sorter\": {","isFullCredit":false},{"lineNumber":5474,"author":{"gitId":"-"},"content":" \"version\": \"6.3.1\",","isFullCredit":false},{"lineNumber":5475,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5476,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5477,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5478,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":5479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5480,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5481,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.0.9\"","isFullCredit":false},{"lineNumber":5482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5483,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5484,"author":{"gitId":"-"},"content":" \"node_modules/css-functions-list\": {","isFullCredit":false},{"lineNumber":5485,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\",","isFullCredit":false},{"lineNumber":5486,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz\",","isFullCredit":false},{"lineNumber":5487,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":5488,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5489,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5490,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12 || \u003e\u003d16\"","isFullCredit":false},{"lineNumber":5491,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5493,"author":{"gitId":"-"},"content":" \"node_modules/css-loader\": {","isFullCredit":false},{"lineNumber":5494,"author":{"gitId":"-"},"content":" \"version\": \"6.7.3\",","isFullCredit":false},{"lineNumber":5495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5496,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5497,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5498,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5499,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.19\",","isFullCredit":false},{"lineNumber":5500,"author":{"gitId":"-"},"content":" \"postcss-modules-extract-imports\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5501,"author":{"gitId":"-"},"content":" \"postcss-modules-local-by-default\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5502,"author":{"gitId":"-"},"content":" \"postcss-modules-scope\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":5503,"author":{"gitId":"-"},"content":" \"postcss-modules-values\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5504,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":5505,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.8\"","isFullCredit":false},{"lineNumber":5506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5507,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5508,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":5509,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5510,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5511,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5512,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":5513,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5514,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5515,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":5516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5517,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5518,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":5519,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":5520,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5521,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5522,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5523,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":5524,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5525,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5526,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5527,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5528,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5529,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/semver\": {","isFullCredit":false},{"lineNumber":5530,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":5531,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5532,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":5533,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5534,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":5535,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5536,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5537,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":5538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5539,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5540,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5541,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5542,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5543,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":5544,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5545,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5546,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":5547,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5548,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin\": {","isFullCredit":false},{"lineNumber":5549,"author":{"gitId":"-"},"content":" \"version\": \"3.4.1\",","isFullCredit":false},{"lineNumber":5550,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5551,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5552,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5553,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.6\",","isFullCredit":false},{"lineNumber":5554,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.0.2\",","isFullCredit":false},{"lineNumber":5555,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.5\",","isFullCredit":false},{"lineNumber":5556,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":5557,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":5558,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\"","isFullCredit":false},{"lineNumber":5559,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5560,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5561,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":5562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5563,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5564,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5565,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":5566,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5567,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5568,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":5569,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5570,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":5571,"author":{"gitId":"-"},"content":" \"@parcel/css\": {","isFullCredit":false},{"lineNumber":5572,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":5573,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5574,"author":{"gitId":"-"},"content":" \"clean-css\": {","isFullCredit":false},{"lineNumber":5575,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":5576,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5577,"author":{"gitId":"-"},"content":" \"csso\": {","isFullCredit":false},{"lineNumber":5578,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":5579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5580,"author":{"gitId":"-"},"content":" \"esbuild\": {","isFullCredit":false},{"lineNumber":5581,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":5582,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5583,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5584,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5585,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":5586,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":5587,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5588,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5589,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5590,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":5591,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5592,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":5593,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":5594,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5595,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5596,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":5597,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":5598,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5599,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5600,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":5601,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":5602,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5603,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5604,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5605,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":5606,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5607,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5608,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":5609,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5610,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5611,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":5612,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":5613,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5614,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5615,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5616,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":5617,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":5618,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5619,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5620,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5621,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":5622,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\",","isFullCredit":false},{"lineNumber":5623,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":5624,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":5625,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5626,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5627,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":5628,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5629,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5630,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5631,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":5632,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5633,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5634,"author":{"gitId":"-"},"content":" \"node_modules/css-select\": {","isFullCredit":false},{"lineNumber":5635,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":5636,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5637,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5638,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5639,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\",","isFullCredit":false},{"lineNumber":5640,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":5641,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":5642,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5643,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5644,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5645,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":5646,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5647,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5648,"author":{"gitId":"-"},"content":" \"node_modules/css-selector-parser\": {","isFullCredit":false},{"lineNumber":5649,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":5650,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5652,"author":{"gitId":"-"},"content":" \"node_modules/css-tree\": {","isFullCredit":false},{"lineNumber":5653,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\",","isFullCredit":false},{"lineNumber":5654,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5655,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5656,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5657,"author":{"gitId":"-"},"content":" \"mdn-data\": \"2.0.14\",","isFullCredit":false},{"lineNumber":5658,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\"","isFullCredit":false},{"lineNumber":5659,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5660,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5661,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":5662,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5663,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5664,"author":{"gitId":"-"},"content":" \"node_modules/css-what\": {","isFullCredit":false},{"lineNumber":5665,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":5666,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5667,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5668,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":5669,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5670,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5671,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":5672,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5674,"author":{"gitId":"-"},"content":" \"node_modules/cssesc\": {","isFullCredit":false},{"lineNumber":5675,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5676,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5677,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5678,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":5679,"author":{"gitId":"-"},"content":" \"cssesc\": \"bin/cssesc\"","isFullCredit":false},{"lineNumber":5680,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5681,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5682,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":5683,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5684,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5685,"author":{"gitId":"-"},"content":" \"node_modules/cssnano\": {","isFullCredit":false},{"lineNumber":5686,"author":{"gitId":"-"},"content":" \"version\": \"5.1.14\",","isFullCredit":false},{"lineNumber":5687,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5688,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5689,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5690,"author":{"gitId":"-"},"content":" \"cssnano-preset-default\": \"^5.2.13\",","isFullCredit":false},{"lineNumber":5691,"author":{"gitId":"-"},"content":" \"lilconfig\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":5692,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.2\"","isFullCredit":false},{"lineNumber":5693,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5694,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5695,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":5696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5697,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5698,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":5699,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/cssnano\"","isFullCredit":false},{"lineNumber":5700,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5701,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5702,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":5703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5705,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-preset-default\": {","isFullCredit":false},{"lineNumber":5706,"author":{"gitId":"-"},"content":" \"version\": \"5.2.13\",","isFullCredit":false},{"lineNumber":5707,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5708,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5709,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5710,"author":{"gitId":"-"},"content":" \"css-declaration-sorter\": \"^6.3.1\",","isFullCredit":false},{"lineNumber":5711,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":5712,"author":{"gitId":"-"},"content":" \"postcss-calc\": \"^8.2.3\",","isFullCredit":false},{"lineNumber":5713,"author":{"gitId":"-"},"content":" \"postcss-colormin\": \"^5.3.0\",","isFullCredit":false},{"lineNumber":5714,"author":{"gitId":"-"},"content":" \"postcss-convert-values\": \"^5.1.3\",","isFullCredit":false},{"lineNumber":5715,"author":{"gitId":"-"},"content":" \"postcss-discard-comments\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":5716,"author":{"gitId":"-"},"content":" \"postcss-discard-duplicates\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5717,"author":{"gitId":"-"},"content":" \"postcss-discard-empty\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5718,"author":{"gitId":"-"},"content":" \"postcss-discard-overridden\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5719,"author":{"gitId":"-"},"content":" \"postcss-merge-longhand\": \"^5.1.7\",","isFullCredit":false},{"lineNumber":5720,"author":{"gitId":"-"},"content":" \"postcss-merge-rules\": \"^5.1.3\",","isFullCredit":false},{"lineNumber":5721,"author":{"gitId":"-"},"content":" \"postcss-minify-font-values\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5722,"author":{"gitId":"-"},"content":" \"postcss-minify-gradients\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5723,"author":{"gitId":"-"},"content":" \"postcss-minify-params\": \"^5.1.4\",","isFullCredit":false},{"lineNumber":5724,"author":{"gitId":"-"},"content":" \"postcss-minify-selectors\": \"^5.2.1\",","isFullCredit":false},{"lineNumber":5725,"author":{"gitId":"-"},"content":" \"postcss-normalize-charset\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5726,"author":{"gitId":"-"},"content":" \"postcss-normalize-display-values\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5727,"author":{"gitId":"-"},"content":" \"postcss-normalize-positions\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5728,"author":{"gitId":"-"},"content":" \"postcss-normalize-repeat-style\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5729,"author":{"gitId":"-"},"content":" \"postcss-normalize-string\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5730,"author":{"gitId":"-"},"content":" \"postcss-normalize-timing-functions\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5731,"author":{"gitId":"-"},"content":" \"postcss-normalize-unicode\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5732,"author":{"gitId":"-"},"content":" \"postcss-normalize-url\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5733,"author":{"gitId":"-"},"content":" \"postcss-normalize-whitespace\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5734,"author":{"gitId":"-"},"content":" \"postcss-ordered-values\": \"^5.1.3\",","isFullCredit":false},{"lineNumber":5735,"author":{"gitId":"-"},"content":" \"postcss-reduce-initial\": \"^5.1.1\",","isFullCredit":false},{"lineNumber":5736,"author":{"gitId":"-"},"content":" \"postcss-reduce-transforms\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5737,"author":{"gitId":"-"},"content":" \"postcss-svgo\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":5738,"author":{"gitId":"-"},"content":" \"postcss-unique-selectors\": \"^5.1.1\"","isFullCredit":false},{"lineNumber":5739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5740,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5741,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":5742,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5743,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5744,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":5745,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5747,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-utils\": {","isFullCredit":false},{"lineNumber":5748,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":5749,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5750,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5751,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5752,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":5753,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5754,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":5755,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":5756,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5757,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5758,"author":{"gitId":"-"},"content":" \"node_modules/csso\": {","isFullCredit":false},{"lineNumber":5759,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":5760,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5761,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5762,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5763,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.2\"","isFullCredit":false},{"lineNumber":5764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5765,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5766,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":5767,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5768,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5769,"author":{"gitId":"-"},"content":" \"node_modules/csstype\": {","isFullCredit":false},{"lineNumber":5770,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":5771,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5773,"author":{"gitId":"-"},"content":" \"node_modules/debug\": {","isFullCredit":false},{"lineNumber":5774,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\",","isFullCredit":false},{"lineNumber":5775,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5776,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5777,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5778,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\"","isFullCredit":false},{"lineNumber":5779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5780,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5781,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\"","isFullCredit":false},{"lineNumber":5782,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5783,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":5784,"author":{"gitId":"-"},"content":" \"supports-color\": {","isFullCredit":false},{"lineNumber":5785,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":5786,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5787,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5788,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5789,"author":{"gitId":"-"},"content":" \"node_modules/deep-is\": {","isFullCredit":false},{"lineNumber":5790,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":5791,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5792,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5793,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5794,"author":{"gitId":"-"},"content":" \"node_modules/deepmerge\": {","isFullCredit":false},{"lineNumber":5795,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\",","isFullCredit":false},{"lineNumber":5796,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5797,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5798,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5799,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":5800,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5802,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway\": {","isFullCredit":false},{"lineNumber":5803,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\",","isFullCredit":false},{"lineNumber":5804,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5805,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":5806,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5807,"author":{"gitId":"-"},"content":" \"execa\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":5808,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5809,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5810,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\"","isFullCredit":false},{"lineNumber":5811,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5813,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/execa\": {","isFullCredit":false},{"lineNumber":5814,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":5815,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5816,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5817,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5818,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.3\",","isFullCredit":false},{"lineNumber":5819,"author":{"gitId":"-"},"content":" \"get-stream\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":5820,"author":{"gitId":"-"},"content":" \"human-signals\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":5821,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5822,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":5823,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":5824,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":5825,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.3\",","isFullCredit":false},{"lineNumber":5826,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":5827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5828,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5829,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5830,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5831,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5832,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":5833,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5834,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5835,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/get-stream\": {","isFullCredit":false},{"lineNumber":5836,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":5837,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5838,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5839,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5840,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":5841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5842,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5843,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5844,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5846,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/is-stream\": {","isFullCredit":false},{"lineNumber":5847,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":5848,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5849,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5850,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5851,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5853,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5854,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5855,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5856,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5857,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/npm-run-path\": {","isFullCredit":false},{"lineNumber":5858,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":5859,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5860,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5861,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5862,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":5863,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5864,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5865,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5866,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5867,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5868,"author":{"gitId":"-"},"content":" \"node_modules/defaults\": {","isFullCredit":false},{"lineNumber":5869,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":5870,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5871,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5872,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5873,"author":{"gitId":"-"},"content":" \"clone\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":5874,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5875,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5876,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":5877,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5878,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5879,"author":{"gitId":"-"},"content":" \"node_modules/define-data-property\": {","isFullCredit":false},{"lineNumber":5880,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":5881,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5882,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5883,"author":{"gitId":"-"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5884,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":5885,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":5886,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5887,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5888,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5889,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5890,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5891,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5892,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5893,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5894,"author":{"gitId":"-"},"content":" \"node_modules/define-lazy-prop\": {","isFullCredit":false},{"lineNumber":5895,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5896,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5897,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5898,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5899,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5900,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5901,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5902,"author":{"gitId":"-"},"content":" \"node_modules/define-properties\": {","isFullCredit":false},{"lineNumber":5903,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":5904,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5905,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5906,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5907,"author":{"gitId":"-"},"content":" \"define-data-property\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":5908,"author":{"gitId":"-"},"content":" \"has-property-descriptors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":5909,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\"","isFullCredit":false},{"lineNumber":5910,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5911,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5912,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":5913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5914,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":5915,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":5916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5917,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5918,"author":{"gitId":"-"},"content":" \"node_modules/depd\": {","isFullCredit":false},{"lineNumber":5919,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":5920,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5921,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5922,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5923,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":5924,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5925,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5926,"author":{"gitId":"-"},"content":" \"node_modules/destroy\": {","isFullCredit":false},{"lineNumber":5927,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":5928,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5929,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5930,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5931,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\",","isFullCredit":false},{"lineNumber":5932,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\"","isFullCredit":false},{"lineNumber":5933,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5934,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5935,"author":{"gitId":"-"},"content":" \"node_modules/detect-node\": {","isFullCredit":false},{"lineNumber":5936,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":5937,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5938,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5939,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5940,"author":{"gitId":"-"},"content":" \"node_modules/dir-glob\": {","isFullCredit":false},{"lineNumber":5941,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":5942,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5943,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5944,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5945,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":5946,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5947,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5948,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":5949,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5951,"author":{"gitId":"-"},"content":" \"node_modules/dns-equal\": {","isFullCredit":false},{"lineNumber":5952,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":5953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5954,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5955,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5956,"author":{"gitId":"-"},"content":" \"node_modules/dns-packet\": {","isFullCredit":false},{"lineNumber":5957,"author":{"gitId":"-"},"content":" \"version\": \"5.4.0\",","isFullCredit":false},{"lineNumber":5958,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5959,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5960,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5961,"author":{"gitId":"-"},"content":" \"@leichtgewicht/ip-codec\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":5962,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5963,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5964,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":5965,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5966,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5967,"author":{"gitId":"-"},"content":" \"node_modules/doctrine\": {","isFullCredit":false},{"lineNumber":5968,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":5969,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5970,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":5971,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5972,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\"","isFullCredit":false},{"lineNumber":5973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5974,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":5975,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":5976,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5977,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5978,"author":{"gitId":"-"},"content":" \"node_modules/doctypes\": {","isFullCredit":false},{"lineNumber":5979,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":5980,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5981,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":5982,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5983,"author":{"gitId":"-"},"content":" \"node_modules/dom-converter\": {","isFullCredit":false},{"lineNumber":5984,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":5985,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":5986,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5987,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5988,"author":{"gitId":"-"},"content":" \"utila\": \"~0.4\"","isFullCredit":false},{"lineNumber":5989,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":5990,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5991,"author":{"gitId":"-"},"content":" \"node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":5992,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":5993,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":5994,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":5995,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":5996,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":5997,"author":{"gitId":"-"},"content":" \"entities\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":5998,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":5999,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6000,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6001,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6002,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6003,"author":{"gitId":"-"},"content":" \"node_modules/domelementtype\": {","isFullCredit":false},{"lineNumber":6004,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":6005,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":6006,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":6007,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6008,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":6009,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6010,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":6011,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\"","isFullCredit":false},{"lineNumber":6012,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6013,"author":{"gitId":"-"},"content":" \"node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":6014,"author":{"gitId":"-"},"content":" \"version\": \"5.0.3\",","isFullCredit":false},{"lineNumber":6015,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6016,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6017,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\"","isFullCredit":false},{"lineNumber":6018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6019,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6020,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":6021,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6022,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6023,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6024,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6026,"author":{"gitId":"-"},"content":" \"node_modules/domutils\": {","isFullCredit":false},{"lineNumber":6027,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":6028,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6029,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6030,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6031,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":6032,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":6033,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6034,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6035,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6036,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6038,"author":{"gitId":"-"},"content":" \"node_modules/dot-case\": {","isFullCredit":false},{"lineNumber":6039,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":6040,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6041,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6042,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6043,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":6044,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":6045,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6047,"author":{"gitId":"-"},"content":" \"node_modules/dotenv\": {","isFullCredit":false},{"lineNumber":6048,"author":{"gitId":"-"},"content":" \"version\": \"10.0.0\",","isFullCredit":false},{"lineNumber":6049,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6050,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6051,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6052,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6053,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6054,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6055,"author":{"gitId":"-"},"content":" \"node_modules/dotenv-expand\": {","isFullCredit":false},{"lineNumber":6056,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":6057,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6058,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\"","isFullCredit":false},{"lineNumber":6059,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6060,"author":{"gitId":"-"},"content":" \"node_modules/duplexer\": {","isFullCredit":false},{"lineNumber":6061,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":6062,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6063,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6064,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6065,"author":{"gitId":"-"},"content":" \"node_modules/easy-stack\": {","isFullCredit":false},{"lineNumber":6066,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":6067,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6068,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6069,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6070,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":6071,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6072,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6073,"author":{"gitId":"-"},"content":" \"node_modules/ee-first\": {","isFullCredit":false},{"lineNumber":6074,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":6075,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6076,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6077,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6078,"author":{"gitId":"-"},"content":" \"node_modules/electron-to-chromium\": {","isFullCredit":false},{"lineNumber":6079,"author":{"gitId":"-"},"content":" \"version\": \"1.4.284\",","isFullCredit":false},{"lineNumber":6080,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":6081,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6082,"author":{"gitId":"-"},"content":" \"node_modules/emoji-regex\": {","isFullCredit":false},{"lineNumber":6083,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":6084,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6085,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6087,"author":{"gitId":"-"},"content":" \"node_modules/emojis-list\": {","isFullCredit":false},{"lineNumber":6088,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":6089,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6090,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6091,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6092,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":6093,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6094,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6095,"author":{"gitId":"-"},"content":" \"node_modules/encodeurl\": {","isFullCredit":false},{"lineNumber":6096,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":6097,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6098,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6099,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6100,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":6101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6102,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6103,"author":{"gitId":"-"},"content":" \"node_modules/encoding\": {","isFullCredit":false},{"lineNumber":6104,"author":{"gitId":"-"},"content":" \"version\": \"0.1.13\",","isFullCredit":false},{"lineNumber":6105,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6106,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6107,"author":{"gitId":"-"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":6108,"author":{"gitId":"-"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":6109,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6110,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"^0.6.2\"","isFullCredit":false},{"lineNumber":6111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6113,"author":{"gitId":"-"},"content":" \"node_modules/end-of-stream\": {","isFullCredit":false},{"lineNumber":6114,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\",","isFullCredit":false},{"lineNumber":6115,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6116,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6117,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6118,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\"","isFullCredit":false},{"lineNumber":6119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6120,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6121,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve\": {","isFullCredit":false},{"lineNumber":6122,"author":{"gitId":"-"},"content":" \"version\": \"5.12.0\",","isFullCredit":false},{"lineNumber":6123,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6124,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6125,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.4\",","isFullCredit":false},{"lineNumber":6126,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":6127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6128,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6129,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":6130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6131,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6132,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve/node_modules/tapable\": {","isFullCredit":false},{"lineNumber":6133,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":6134,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6135,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":6137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6139,"author":{"gitId":"-"},"content":" \"node_modules/entities\": {","isFullCredit":false},{"lineNumber":6140,"author":{"gitId":"-"},"content":" \"version\": \"4.5.0\",","isFullCredit":false},{"lineNumber":6141,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6142,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6143,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12\"","isFullCredit":false},{"lineNumber":6144,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6145,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6146,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6148,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6149,"author":{"gitId":"-"},"content":" \"node_modules/env-paths\": {","isFullCredit":false},{"lineNumber":6150,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":6151,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz\",","isFullCredit":false},{"lineNumber":6152,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A\u003d\u003d\",","isFullCredit":false},{"lineNumber":6153,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6154,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6155,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":6156,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6157,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6158,"author":{"gitId":"-"},"content":" \"node_modules/error-ex\": {","isFullCredit":false},{"lineNumber":6159,"author":{"gitId":"-"},"content":" \"version\": \"1.3.2\",","isFullCredit":false},{"lineNumber":6160,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6161,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6162,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6163,"author":{"gitId":"-"},"content":" \"is-arrayish\": \"^0.2.1\"","isFullCredit":false},{"lineNumber":6164,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6165,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6166,"author":{"gitId":"-"},"content":" \"node_modules/error-stack-parser\": {","isFullCredit":false},{"lineNumber":6167,"author":{"gitId":"-"},"content":" \"version\": \"2.1.4\",","isFullCredit":false},{"lineNumber":6168,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6169,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6170,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6171,"author":{"gitId":"-"},"content":" \"stackframe\": \"^1.3.4\"","isFullCredit":false},{"lineNumber":6172,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6173,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6174,"author":{"gitId":"-"},"content":" \"node_modules/es-abstract\": {","isFullCredit":false},{"lineNumber":6175,"author":{"gitId":"-"},"content":" \"version\": \"1.22.5\",","isFullCredit":false},{"lineNumber":6176,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6177,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6178,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6179,"author":{"gitId":"-"},"content":" \"array-buffer-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6180,"author":{"gitId":"-"},"content":" \"arraybuffer.prototype.slice\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6181,"author":{"gitId":"-"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6182,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6183,"author":{"gitId":"-"},"content":" \"es-define-property\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6184,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":6185,"author":{"gitId":"-"},"content":" \"es-set-tostringtag\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":6186,"author":{"gitId":"-"},"content":" \"es-to-primitive\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":6187,"author":{"gitId":"-"},"content":" \"function.prototype.name\": \"^1.1.6\",","isFullCredit":false},{"lineNumber":6188,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":6189,"author":{"gitId":"-"},"content":" \"get-symbol-description\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6190,"author":{"gitId":"-"},"content":" \"globalthis\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6191,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6192,"author":{"gitId":"-"},"content":" \"has-property-descriptors\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6193,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6194,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6195,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":6196,"author":{"gitId":"-"},"content":" \"internal-slot\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6197,"author":{"gitId":"-"},"content":" \"is-array-buffer\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":6198,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.2.7\",","isFullCredit":false},{"lineNumber":6199,"author":{"gitId":"-"},"content":" \"is-negative-zero\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":6200,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":6201,"author":{"gitId":"-"},"content":" \"is-shared-array-buffer\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6202,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6203,"author":{"gitId":"-"},"content":" \"is-typed-array\": \"^1.1.13\",","isFullCredit":false},{"lineNumber":6204,"author":{"gitId":"-"},"content":" \"is-weakref\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6205,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.13.1\",","isFullCredit":false},{"lineNumber":6206,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":6207,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.5\",","isFullCredit":false},{"lineNumber":6208,"author":{"gitId":"-"},"content":" \"regexp.prototype.flags\": \"^1.5.2\",","isFullCredit":false},{"lineNumber":6209,"author":{"gitId":"-"},"content":" \"safe-array-concat\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":6210,"author":{"gitId":"-"},"content":" \"safe-regex-test\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":6211,"author":{"gitId":"-"},"content":" \"string.prototype.trim\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":6212,"author":{"gitId":"-"},"content":" \"string.prototype.trimend\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6213,"author":{"gitId":"-"},"content":" \"string.prototype.trimstart\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":6214,"author":{"gitId":"-"},"content":" \"typed-array-buffer\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6215,"author":{"gitId":"-"},"content":" \"typed-array-byte-length\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6216,"author":{"gitId":"-"},"content":" \"typed-array-byte-offset\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6217,"author":{"gitId":"-"},"content":" \"typed-array-length\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":6218,"author":{"gitId":"-"},"content":" \"unbox-primitive\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6219,"author":{"gitId":"-"},"content":" \"which-typed-array\": \"^1.1.14\"","isFullCredit":false},{"lineNumber":6220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6221,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6222,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6223,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6224,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6225,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6226,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6227,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6228,"author":{"gitId":"-"},"content":" \"node_modules/es-array-method-boxes-properly\": {","isFullCredit":false},{"lineNumber":6229,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6230,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6231,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6232,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6233,"author":{"gitId":"-"},"content":" \"node_modules/es-define-property\": {","isFullCredit":false},{"lineNumber":6234,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6235,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6236,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6237,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\"","isFullCredit":false},{"lineNumber":6238,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6239,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6240,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6241,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6242,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6243,"author":{"gitId":"-"},"content":" \"node_modules/es-errors\": {","isFullCredit":false},{"lineNumber":6244,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":6245,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6246,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6247,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6248,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6249,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6250,"author":{"gitId":"-"},"content":" \"node_modules/es-module-lexer\": {","isFullCredit":false},{"lineNumber":6251,"author":{"gitId":"-"},"content":" \"version\": \"0.9.3\",","isFullCredit":false},{"lineNumber":6252,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6254,"author":{"gitId":"-"},"content":" \"node_modules/es-set-tostringtag\": {","isFullCredit":false},{"lineNumber":6255,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":6256,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6257,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6258,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6259,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":6260,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":6261,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":6262,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6263,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6264,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6265,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6266,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6267,"author":{"gitId":"-"},"content":" \"node_modules/es-shim-unscopables\": {","isFullCredit":false},{"lineNumber":6268,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":6269,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6270,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6271,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6272,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":6273,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6274,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6275,"author":{"gitId":"-"},"content":" \"node_modules/es-to-primitive\": {","isFullCredit":false},{"lineNumber":6276,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":6277,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6278,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6279,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6280,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":6281,"author":{"gitId":"-"},"content":" \"is-date-object\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6282,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":6283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6284,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6285,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":6286,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6287,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6288,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":6289,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6290,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6291,"author":{"gitId":"-"},"content":" \"node_modules/escalade\": {","isFullCredit":false},{"lineNumber":6292,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":6293,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6294,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6295,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":6296,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6297,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6298,"author":{"gitId":"-"},"content":" \"node_modules/escape-html\": {","isFullCredit":false},{"lineNumber":6299,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":6300,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6301,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6302,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6303,"author":{"gitId":"-"},"content":" \"node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":6304,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":6305,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6306,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6307,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6308,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":6309,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6311,"author":{"gitId":"-"},"content":" \"node_modules/eslint\": {","isFullCredit":false},{"lineNumber":6312,"author":{"gitId":"-"},"content":" \"version\": \"8.57.0\",","isFullCredit":false},{"lineNumber":6313,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6314,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6315,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6316,"author":{"gitId":"-"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":6317,"author":{"gitId":"-"},"content":" \"@eslint-community/regexpp\": \"^4.6.1\",","isFullCredit":false},{"lineNumber":6318,"author":{"gitId":"-"},"content":" \"@eslint/eslintrc\": \"^2.1.4\",","isFullCredit":false},{"lineNumber":6319,"author":{"gitId":"-"},"content":" \"@eslint/js\": \"8.57.0\",","isFullCredit":false},{"lineNumber":6320,"author":{"gitId":"-"},"content":" \"@humanwhocodes/config-array\": \"^0.11.14\",","isFullCredit":false},{"lineNumber":6321,"author":{"gitId":"-"},"content":" \"@humanwhocodes/module-importer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6322,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.8\",","isFullCredit":false},{"lineNumber":6323,"author":{"gitId":"-"},"content":" \"@ungap/structured-clone\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":6324,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\",","isFullCredit":false},{"lineNumber":6325,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6326,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.2\",","isFullCredit":false},{"lineNumber":6327,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\",","isFullCredit":false},{"lineNumber":6328,"author":{"gitId":"-"},"content":" \"doctrine\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6329,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6330,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"^7.2.2\",","isFullCredit":false},{"lineNumber":6331,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.4.3\",","isFullCredit":false},{"lineNumber":6332,"author":{"gitId":"-"},"content":" \"espree\": \"^9.6.1\",","isFullCredit":false},{"lineNumber":6333,"author":{"gitId":"-"},"content":" \"esquery\": \"^1.4.2\",","isFullCredit":false},{"lineNumber":6334,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":6335,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\",","isFullCredit":false},{"lineNumber":6336,"author":{"gitId":"-"},"content":" \"file-entry-cache\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":6337,"author":{"gitId":"-"},"content":" \"find-up\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":6338,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":6339,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\",","isFullCredit":false},{"lineNumber":6340,"author":{"gitId":"-"},"content":" \"graphemer\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":6341,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":6342,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":6343,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6344,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.3\",","isFullCredit":false},{"lineNumber":6345,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":6346,"author":{"gitId":"-"},"content":" \"json-stable-stringify-without-jsonify\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6347,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":6348,"author":{"gitId":"-"},"content":" \"lodash.merge\": \"^4.6.2\",","isFullCredit":false},{"lineNumber":6349,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":6350,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":6351,"author":{"gitId":"-"},"content":" \"optionator\": \"^0.9.3\",","isFullCredit":false},{"lineNumber":6352,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":6353,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\"","isFullCredit":false},{"lineNumber":6354,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6355,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6356,"author":{"gitId":"-"},"content":" \"eslint\": \"bin/eslint.js\"","isFullCredit":false},{"lineNumber":6357,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6358,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6359,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6361,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6362,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":6363,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6364,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6365,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-base\": {","isFullCredit":false},{"lineNumber":6366,"author":{"gitId":"-"},"content":" \"version\": \"15.0.0\",","isFullCredit":false},{"lineNumber":6367,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6368,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6369,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6370,"author":{"gitId":"-"},"content":" \"confusing-browser-globals\": \"^1.0.10\",","isFullCredit":false},{"lineNumber":6371,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":6372,"author":{"gitId":"-"},"content":" \"object.entries\": \"^1.1.5\",","isFullCredit":false},{"lineNumber":6373,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\"","isFullCredit":false},{"lineNumber":6374,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6375,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6376,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":6377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6378,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6379,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\",","isFullCredit":false},{"lineNumber":6380,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.2\"","isFullCredit":false},{"lineNumber":6381,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6383,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-typescript\": {","isFullCredit":false},{"lineNumber":6384,"author":{"gitId":"-"},"content":" \"version\": \"18.0.0\",","isFullCredit":false},{"lineNumber":6385,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-18.0.0.tgz\",","isFullCredit":false},{"lineNumber":6386,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg\u003d\u003d\",","isFullCredit":false},{"lineNumber":6387,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6388,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6389,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\"","isFullCredit":false},{"lineNumber":6390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6391,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6392,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":6393,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":6394,"author":{"gitId":"-"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":6395,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6396,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6397,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node\": {","isFullCredit":false},{"lineNumber":6398,"author":{"gitId":"-"},"content":" \"version\": \"0.3.9\",","isFullCredit":false},{"lineNumber":6399,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6400,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6401,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6402,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":6403,"author":{"gitId":"-"},"content":" \"is-core-module\": \"^2.13.0\",","isFullCredit":false},{"lineNumber":6404,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.22.4\"","isFullCredit":false},{"lineNumber":6405,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6406,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6407,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node/node_modules/debug\": {","isFullCredit":false},{"lineNumber":6408,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":6409,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6410,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6411,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6412,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":6413,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6415,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils\": {","isFullCredit":false},{"lineNumber":6416,"author":{"gitId":"-"},"content":" \"version\": \"2.8.1\",","isFullCredit":false},{"lineNumber":6417,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6418,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6419,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6420,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\"","isFullCredit":false},{"lineNumber":6421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6422,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6423,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6424,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6425,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":6426,"author":{"gitId":"-"},"content":" \"eslint\": {","isFullCredit":false},{"lineNumber":6427,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":6428,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6429,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6431,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils/node_modules/debug\": {","isFullCredit":false},{"lineNumber":6432,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":6433,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6434,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6435,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6436,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":6437,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6438,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6439,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import\": {","isFullCredit":false},{"lineNumber":6440,"author":{"gitId":"-"},"content":" \"version\": \"2.29.1\",","isFullCredit":false},{"lineNumber":6441,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6442,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6443,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6444,"author":{"gitId":"-"},"content":" \"array-includes\": \"^3.1.7\",","isFullCredit":false},{"lineNumber":6445,"author":{"gitId":"-"},"content":" \"array.prototype.findlastindex\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":6446,"author":{"gitId":"-"},"content":" \"array.prototype.flat\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":6447,"author":{"gitId":"-"},"content":" \"array.prototype.flatmap\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":6448,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":6449,"author":{"gitId":"-"},"content":" \"doctrine\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":6450,"author":{"gitId":"-"},"content":" \"eslint-import-resolver-node\": \"^0.3.9\",","isFullCredit":false},{"lineNumber":6451,"author":{"gitId":"-"},"content":" \"eslint-module-utils\": \"^2.8.0\",","isFullCredit":false},{"lineNumber":6452,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6453,"author":{"gitId":"-"},"content":" \"is-core-module\": \"^2.13.1\",","isFullCredit":false},{"lineNumber":6454,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\",","isFullCredit":false},{"lineNumber":6455,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":6456,"author":{"gitId":"-"},"content":" \"object.fromentries\": \"^2.0.7\",","isFullCredit":false},{"lineNumber":6457,"author":{"gitId":"-"},"content":" \"object.groupby\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":6458,"author":{"gitId":"-"},"content":" \"object.values\": \"^1.1.7\",","isFullCredit":false},{"lineNumber":6459,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.1\",","isFullCredit":false},{"lineNumber":6460,"author":{"gitId":"-"},"content":" \"tsconfig-paths\": \"^3.15.0\"","isFullCredit":false},{"lineNumber":6461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6462,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6463,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6465,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6466,"author":{"gitId":"-"},"content":" \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\"","isFullCredit":false},{"lineNumber":6467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6468,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6469,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":6470,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":6471,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6472,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6473,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6474,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6475,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":6476,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6477,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6478,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/debug\": {","isFullCredit":false},{"lineNumber":6479,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":6480,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6481,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6482,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6483,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":6484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6485,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6486,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/doctrine\": {","isFullCredit":false},{"lineNumber":6487,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":6488,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6489,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":6490,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6491,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\"","isFullCredit":false},{"lineNumber":6492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6493,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6494,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":6495,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6496,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6497,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":6498,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":6499,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6500,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6501,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6502,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":6503,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6504,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6505,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":6506,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6507,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6508,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue\": {","isFullCredit":false},{"lineNumber":6509,"author":{"gitId":"-"},"content":" \"version\": \"9.25.0\",","isFullCredit":false},{"lineNumber":6510,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz\",","isFullCredit":false},{"lineNumber":6511,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6512,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6513,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6514,"author":{"gitId":"-"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":6515,"author":{"gitId":"-"},"content":" \"globals\": \"^13.24.0\",","isFullCredit":false},{"lineNumber":6516,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":6517,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":6518,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":6519,"author":{"gitId":"-"},"content":" \"semver\": \"^7.6.0\",","isFullCredit":false},{"lineNumber":6520,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^9.4.2\",","isFullCredit":false},{"lineNumber":6521,"author":{"gitId":"-"},"content":" \"xml-name-validator\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6522,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6523,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6524,"author":{"gitId":"-"},"content":" \"node\": \"^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6525,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6526,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6527,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0\"","isFullCredit":false},{"lineNumber":6528,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6529,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6530,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/globals\": {","isFullCredit":false},{"lineNumber":6531,"author":{"gitId":"-"},"content":" \"version\": \"13.24.0\",","isFullCredit":false},{"lineNumber":6532,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",","isFullCredit":false},{"lineNumber":6533,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":6534,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6535,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6536,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":6537,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6538,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6539,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6540,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6541,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6542,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":6543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6545,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":6546,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":6547,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":6548,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":6549,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6550,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6551,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6552,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6553,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6554,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6556,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6557,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/semver\": {","isFullCredit":false},{"lineNumber":6558,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":6559,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":6560,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":6561,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6562,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6563,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":6564,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6565,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":6566,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":6567,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6568,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6569,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6571,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6572,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":6573,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":6575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":6576,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":6577,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6578,"author":{"gitId":"-"},"content":" \"node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":6579,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":6580,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6581,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6582,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":6583,"author":{"gitId":"-"},"content":" \"estraverse\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":6584,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6585,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6586,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":6587,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6588,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6589,"author":{"gitId":"-"},"content":" \"node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":6590,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":6591,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6592,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":6593,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6594,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6595,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6596,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6597,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin\": {","isFullCredit":false},{"lineNumber":6598,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\",","isFullCredit":false},{"lineNumber":6599,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6600,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6601,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6602,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^7.29.0 || ^8.4.1\",","isFullCredit":false},{"lineNumber":6603,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^28.0.2\",","isFullCredit":false},{"lineNumber":6604,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\",","isFullCredit":false},{"lineNumber":6605,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6606,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6607,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6608,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6609,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":6610,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6611,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6612,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6613,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":6614,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6615,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6616,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\",","isFullCredit":false},{"lineNumber":6617,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":6618,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6620,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":6621,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":6622,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6623,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6624,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6625,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":6626,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6627,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":6628,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":6629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6630,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6631,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":6632,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":6633,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6634,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6635,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":6636,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":6637,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6638,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6639,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6640,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":6641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6642,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":6643,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":6644,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6645,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6646,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":6647,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6648,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6649,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6650,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6651,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6652,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6653,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6654,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/jest-worker\": {","isFullCredit":false},{"lineNumber":6655,"author":{"gitId":"-"},"content":" \"version\": \"28.1.3\",","isFullCredit":false},{"lineNumber":6656,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6657,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6658,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6659,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":6660,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6661,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":6662,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6663,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6664,"author":{"gitId":"-"},"content":" \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || \u003e\u003d17.0.0\"","isFullCredit":false},{"lineNumber":6665,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6666,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6667,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":6668,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6669,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6670,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6671,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6672,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":6673,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6674,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6675,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6676,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6677,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":6678,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\",","isFullCredit":false},{"lineNumber":6679,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":6680,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":6681,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6682,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6683,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":6684,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6685,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6686,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":6687,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":6688,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6689,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6690,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":6691,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":6692,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6693,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6694,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6695,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6697,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6698,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6699,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6700,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6701,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6702,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6703,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6704,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":6705,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":6706,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6707,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6708,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6709,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":6710,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6711,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6712,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6713,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6714,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6715,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6716,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6717,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6718,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":6719,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":6720,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6721,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6722,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6723,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6724,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":6725,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6726,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6727,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":6728,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":6729,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6730,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6731,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6732,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":6733,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":6734,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6735,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6736,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6737,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6738,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6739,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":6740,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6741,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6742,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":6743,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":6744,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6745,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6746,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6747,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":6748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6749,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6750,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":6751,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6752,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6753,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":6754,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":6755,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6756,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6757,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6758,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/escape-string-regexp\": {","isFullCredit":false},{"lineNumber":6759,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6760,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6761,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6762,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6763,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":6764,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6765,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6766,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":6767,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6768,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6769,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":6770,"author":{"gitId":"-"},"content":" \"version\": \"7.2.2\",","isFullCredit":false},{"lineNumber":6771,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6772,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6773,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6774,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":6775,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":6776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6777,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6778,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6779,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6780,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6781,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":6782,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6783,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6784,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":6785,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":6786,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6787,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":6788,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6789,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6791,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6792,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":6793,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6794,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6795,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":6796,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":6797,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6798,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6799,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6800,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":6801,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6802,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6803,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/globals\": {","isFullCredit":false},{"lineNumber":6804,"author":{"gitId":"-"},"content":" \"version\": \"13.20.0\",","isFullCredit":false},{"lineNumber":6805,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6806,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6807,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6808,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\"","isFullCredit":false},{"lineNumber":6809,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6810,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6811,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6813,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6814,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":6815,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6816,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6817,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":6818,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":6819,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6820,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6821,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6822,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6823,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6825,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":6826,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":6827,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6828,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":6829,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6830,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":6831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6832,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6833,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":6834,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6835,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6836,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":6837,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":6838,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6839,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6840,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6841,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":6842,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6843,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6844,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":6845,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6846,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6847,"author":{"gitId":"-"},"content":" \"node_modules/espree\": {","isFullCredit":false},{"lineNumber":6848,"author":{"gitId":"-"},"content":" \"version\": \"9.6.1\",","isFullCredit":false},{"lineNumber":6849,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6850,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6851,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6852,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.9.0\",","isFullCredit":false},{"lineNumber":6853,"author":{"gitId":"-"},"content":" \"acorn-jsx\": \"^5.3.2\",","isFullCredit":false},{"lineNumber":6854,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.4.1\"","isFullCredit":false},{"lineNumber":6855,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6856,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6857,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6858,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6859,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6860,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":6861,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6862,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6863,"author":{"gitId":"-"},"content":" \"node_modules/espree/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":6864,"author":{"gitId":"-"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":6865,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6866,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":6867,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6868,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":6869,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6870,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":6871,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":6872,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6873,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6874,"author":{"gitId":"-"},"content":" \"node_modules/esquery\": {","isFullCredit":false},{"lineNumber":6875,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":6876,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6877,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":6878,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6879,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":6880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6881,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6882,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10\"","isFullCredit":false},{"lineNumber":6883,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6885,"author":{"gitId":"-"},"content":" \"node_modules/esquery/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":6886,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":6887,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6888,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6889,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6890,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":6891,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6892,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6893,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse\": {","isFullCredit":false},{"lineNumber":6894,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":6895,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6896,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6897,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":6898,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6899,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6900,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":6901,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6902,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6903,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":6904,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":6905,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6906,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6907,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":6908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6910,"author":{"gitId":"-"},"content":" \"node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":6911,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":6912,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6913,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6914,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":6915,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6916,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6917,"author":{"gitId":"-"},"content":" \"node_modules/estree-walker\": {","isFullCredit":false},{"lineNumber":6918,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":6919,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6920,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6921,"author":{"gitId":"-"},"content":" \"node_modules/esutils\": {","isFullCredit":false},{"lineNumber":6922,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":6923,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":6924,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6925,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":6926,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6927,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6928,"author":{"gitId":"-"},"content":" \"node_modules/etag\": {","isFullCredit":false},{"lineNumber":6929,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\",","isFullCredit":false},{"lineNumber":6930,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6931,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6932,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6933,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":6934,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6936,"author":{"gitId":"-"},"content":" \"node_modules/event-pubsub\": {","isFullCredit":false},{"lineNumber":6937,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":6938,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6939,"author":{"gitId":"-"},"content":" \"license\": \"Unlicense\",","isFullCredit":false},{"lineNumber":6940,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6941,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\"","isFullCredit":false},{"lineNumber":6942,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6943,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6944,"author":{"gitId":"-"},"content":" \"node_modules/eventemitter3\": {","isFullCredit":false},{"lineNumber":6945,"author":{"gitId":"-"},"content":" \"version\": \"4.0.7\",","isFullCredit":false},{"lineNumber":6946,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6947,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":6948,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6949,"author":{"gitId":"-"},"content":" \"node_modules/events\": {","isFullCredit":false},{"lineNumber":6950,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":6951,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6952,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6953,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.x\"","isFullCredit":false},{"lineNumber":6954,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6955,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6956,"author":{"gitId":"-"},"content":" \"node_modules/execa\": {","isFullCredit":false},{"lineNumber":6957,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":6958,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6959,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6960,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6961,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":6962,"author":{"gitId":"-"},"content":" \"get-stream\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":6963,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":6964,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":6965,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":6966,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":6967,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":6968,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6969,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6970,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":6971,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6972,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6973,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":6974,"author":{"gitId":"-"},"content":" \"version\": \"6.0.5\",","isFullCredit":false},{"lineNumber":6975,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6976,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6977,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":6978,"author":{"gitId":"-"},"content":" \"nice-try\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":6979,"author":{"gitId":"-"},"content":" \"path-key\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":6980,"author":{"gitId":"-"},"content":" \"semver\": \"^5.5.0\",","isFullCredit":false},{"lineNumber":6981,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":6982,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\"","isFullCredit":false},{"lineNumber":6983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6984,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6985,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.8\"","isFullCredit":false},{"lineNumber":6986,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6987,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6988,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/path-key\": {","isFullCredit":false},{"lineNumber":6989,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":6990,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6991,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":6992,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":6993,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":6994,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":6995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":6996,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/semver\": {","isFullCredit":false},{"lineNumber":6997,"author":{"gitId":"-"},"content":" \"version\": \"5.7.2\",","isFullCredit":false},{"lineNumber":6998,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":6999,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7000,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7001,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\"","isFullCredit":false},{"lineNumber":7002,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7003,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7004,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":7005,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":7006,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7007,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7008,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7009,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7010,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7011,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7012,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":7013,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7015,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":7016,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":7017,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7018,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7019,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7020,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":7021,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7022,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7023,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/which\": {","isFullCredit":false},{"lineNumber":7024,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\",","isFullCredit":false},{"lineNumber":7025,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7026,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7027,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7028,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7029,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7030,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7031,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\"","isFullCredit":false},{"lineNumber":7032,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7033,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7034,"author":{"gitId":"-"},"content":" \"node_modules/express\": {","isFullCredit":false},{"lineNumber":7035,"author":{"gitId":"-"},"content":" \"version\": \"4.19.2\",","isFullCredit":false},{"lineNumber":7036,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7037,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7038,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7039,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.8\",","isFullCredit":false},{"lineNumber":7040,"author":{"gitId":"-"},"content":" \"array-flatten\": \"1.1.1\",","isFullCredit":false},{"lineNumber":7041,"author":{"gitId":"-"},"content":" \"body-parser\": \"1.20.2\",","isFullCredit":false},{"lineNumber":7042,"author":{"gitId":"-"},"content":" \"content-disposition\": \"0.5.4\",","isFullCredit":false},{"lineNumber":7043,"author":{"gitId":"-"},"content":" \"content-type\": \"~1.0.4\",","isFullCredit":false},{"lineNumber":7044,"author":{"gitId":"-"},"content":" \"cookie\": \"0.6.0\",","isFullCredit":false},{"lineNumber":7045,"author":{"gitId":"-"},"content":" \"cookie-signature\": \"1.0.6\",","isFullCredit":false},{"lineNumber":7046,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":7047,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7048,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":7049,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\",","isFullCredit":false},{"lineNumber":7050,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\",","isFullCredit":false},{"lineNumber":7051,"author":{"gitId":"-"},"content":" \"finalhandler\": \"1.2.0\",","isFullCredit":false},{"lineNumber":7052,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\",","isFullCredit":false},{"lineNumber":7053,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7054,"author":{"gitId":"-"},"content":" \"merge-descriptors\": \"1.0.1\",","isFullCredit":false},{"lineNumber":7055,"author":{"gitId":"-"},"content":" \"methods\": \"~1.1.2\",","isFullCredit":false},{"lineNumber":7056,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\",","isFullCredit":false},{"lineNumber":7057,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\",","isFullCredit":false},{"lineNumber":7058,"author":{"gitId":"-"},"content":" \"path-to-regexp\": \"0.1.7\",","isFullCredit":false},{"lineNumber":7059,"author":{"gitId":"-"},"content":" \"proxy-addr\": \"~2.0.7\",","isFullCredit":false},{"lineNumber":7060,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\",","isFullCredit":false},{"lineNumber":7061,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\",","isFullCredit":false},{"lineNumber":7062,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\",","isFullCredit":false},{"lineNumber":7063,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\",","isFullCredit":false},{"lineNumber":7064,"author":{"gitId":"-"},"content":" \"serve-static\": \"1.15.0\",","isFullCredit":false},{"lineNumber":7065,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\",","isFullCredit":false},{"lineNumber":7066,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\",","isFullCredit":false},{"lineNumber":7067,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\",","isFullCredit":false},{"lineNumber":7068,"author":{"gitId":"-"},"content":" \"utils-merge\": \"1.0.1\",","isFullCredit":false},{"lineNumber":7069,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\"","isFullCredit":false},{"lineNumber":7070,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7071,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7072,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\"","isFullCredit":false},{"lineNumber":7073,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7075,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/array-flatten\": {","isFullCredit":false},{"lineNumber":7076,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":7077,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7078,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7079,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7080,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/debug\": {","isFullCredit":false},{"lineNumber":7081,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":7082,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7083,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7084,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7085,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":7086,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7087,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7088,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/depd\": {","isFullCredit":false},{"lineNumber":7089,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7090,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7091,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7092,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7093,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":7094,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7095,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7096,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/ms\": {","isFullCredit":false},{"lineNumber":7097,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7098,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7099,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7100,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7101,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":7102,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":7103,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7104,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":7105,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":7106,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":7107,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":7108,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7109,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":7110,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":7111,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":7112,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7113,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":7114,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":7115,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":7116,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7117,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":7118,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7120,"author":{"gitId":"-"},"content":" \"node_modules/fast-deep-equal\": {","isFullCredit":false},{"lineNumber":7121,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\",","isFullCredit":false},{"lineNumber":7122,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7123,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7124,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob\": {","isFullCredit":false},{"lineNumber":7125,"author":{"gitId":"-"},"content":" \"version\": \"3.3.2\",","isFullCredit":false},{"lineNumber":7126,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",","isFullCredit":false},{"lineNumber":7127,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow\u003d\u003d\",","isFullCredit":false},{"lineNumber":7128,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7129,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7130,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":7131,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":7132,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":7133,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":7134,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.4\"","isFullCredit":false},{"lineNumber":7135,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7136,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7137,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6.0\"","isFullCredit":false},{"lineNumber":7138,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7140,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob/node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":7141,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":7142,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7143,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7144,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7145,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":7146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7147,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7148,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":7149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7150,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7151,"author":{"gitId":"-"},"content":" \"node_modules/fast-json-stable-stringify\": {","isFullCredit":false},{"lineNumber":7152,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":7153,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7154,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7155,"author":{"gitId":"-"},"content":" \"node_modules/fast-levenshtein\": {","isFullCredit":false},{"lineNumber":7156,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":7157,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7158,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7160,"author":{"gitId":"-"},"content":" \"node_modules/fastest-levenshtein\": {","isFullCredit":false},{"lineNumber":7161,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\",","isFullCredit":false},{"lineNumber":7162,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7163,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7164,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7165,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.9.1\"","isFullCredit":false},{"lineNumber":7166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7168,"author":{"gitId":"-"},"content":" \"node_modules/fastq\": {","isFullCredit":false},{"lineNumber":7169,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\",","isFullCredit":false},{"lineNumber":7170,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7171,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7172,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7173,"author":{"gitId":"-"},"content":" \"reusify\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":7174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7176,"author":{"gitId":"-"},"content":" \"node_modules/faye-websocket\": {","isFullCredit":false},{"lineNumber":7177,"author":{"gitId":"-"},"content":" \"version\": \"0.11.4\",","isFullCredit":false},{"lineNumber":7178,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7179,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":7180,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7181,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"\u003e\u003d0.5.1\"","isFullCredit":false},{"lineNumber":7182,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7183,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7184,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":7185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7186,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7187,"author":{"gitId":"-"},"content":" \"node_modules/figures\": {","isFullCredit":false},{"lineNumber":7188,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7189,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7190,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7191,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7192,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":7193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7194,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7195,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":7196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7197,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7198,"author":{"gitId":"-"},"content":" \"node_modules/file-entry-cache\": {","isFullCredit":false},{"lineNumber":7199,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":7200,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7201,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7202,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7203,"author":{"gitId":"-"},"content":" \"flat-cache\": \"^3.0.4\"","isFullCredit":false},{"lineNumber":7204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7205,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7206,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":7207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7208,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7209,"author":{"gitId":"-"},"content":" \"node_modules/fill-range\": {","isFullCredit":false},{"lineNumber":7210,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\",","isFullCredit":false},{"lineNumber":7211,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7212,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7213,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7214,"author":{"gitId":"-"},"content":" \"to-regex-range\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":7215,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7216,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7217,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7218,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7219,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7220,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler\": {","isFullCredit":false},{"lineNumber":7221,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":7222,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7223,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7224,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7225,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":7226,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":7227,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\",","isFullCredit":false},{"lineNumber":7228,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\",","isFullCredit":false},{"lineNumber":7229,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\",","isFullCredit":false},{"lineNumber":7230,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\",","isFullCredit":false},{"lineNumber":7231,"author":{"gitId":"-"},"content":" \"unpipe\": \"~1.0.0\"","isFullCredit":false},{"lineNumber":7232,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7233,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7234,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":7235,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7237,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/debug\": {","isFullCredit":false},{"lineNumber":7238,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":7239,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7240,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7241,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7242,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":7243,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7244,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7245,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/ms\": {","isFullCredit":false},{"lineNumber":7246,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7247,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7248,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7249,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7250,"author":{"gitId":"-"},"content":" \"node_modules/find-cache-dir\": {","isFullCredit":false},{"lineNumber":7251,"author":{"gitId":"-"},"content":" \"version\": \"3.3.2\",","isFullCredit":false},{"lineNumber":7252,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7253,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7254,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7255,"author":{"gitId":"-"},"content":" \"commondir\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7256,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":7257,"author":{"gitId":"-"},"content":" \"pkg-dir\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":7258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7259,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7260,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7261,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7262,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7263,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/avajs/find-cache-dir?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":7264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7266,"author":{"gitId":"-"},"content":" \"node_modules/find-line-column\": {","isFullCredit":false},{"lineNumber":7267,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\",","isFullCredit":false},{"lineNumber":7268,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7270,"author":{"gitId":"-"},"content":" \"node_modules/find-up\": {","isFullCredit":false},{"lineNumber":7271,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":7272,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7273,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7274,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7275,"author":{"gitId":"-"},"content":" \"locate-path\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":7276,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":7277,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7278,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7279,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7280,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7281,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7282,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7283,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7284,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7285,"author":{"gitId":"-"},"content":" \"node_modules/flat-cache\": {","isFullCredit":false},{"lineNumber":7286,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":7287,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7288,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7289,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7290,"author":{"gitId":"-"},"content":" \"flatted\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":7291,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":7292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7293,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7294,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":7295,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7297,"author":{"gitId":"-"},"content":" \"node_modules/flatted\": {","isFullCredit":false},{"lineNumber":7298,"author":{"gitId":"-"},"content":" \"version\": \"3.3.1\",","isFullCredit":false},{"lineNumber":7299,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",","isFullCredit":false},{"lineNumber":7300,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw\u003d\u003d\",","isFullCredit":false},{"lineNumber":7301,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":7302,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7303,"author":{"gitId":"-"},"content":" \"node_modules/follow-redirects\": {","isFullCredit":false},{"lineNumber":7304,"author":{"gitId":"-"},"content":" \"version\": \"1.15.6\",","isFullCredit":false},{"lineNumber":7305,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7306,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":7307,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":7308,"author":{"gitId":"-"},"content":" \"type\": \"individual\",","isFullCredit":false},{"lineNumber":7309,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/RubenVerborgh\"","isFullCredit":false},{"lineNumber":7310,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7311,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":7312,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7313,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7314,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":7315,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7316,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7317,"author":{"gitId":"-"},"content":" \"debug\": {","isFullCredit":false},{"lineNumber":7318,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7319,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7320,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7322,"author":{"gitId":"-"},"content":" \"node_modules/for-each\": {","isFullCredit":false},{"lineNumber":7323,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\",","isFullCredit":false},{"lineNumber":7324,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7325,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7326,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7327,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":7328,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7329,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7330,"author":{"gitId":"-"},"content":" \"node_modules/foreachasync\": {","isFullCredit":false},{"lineNumber":7331,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":7332,"author":{"gitId":"-"},"content":" \"license\": \"Apache2\"","isFullCredit":false},{"lineNumber":7333,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7334,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin\": {","isFullCredit":false},{"lineNumber":7335,"author":{"gitId":"-"},"content":" \"version\": \"6.5.2\",","isFullCredit":false},{"lineNumber":7336,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7337,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7338,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7339,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.8.3\",","isFullCredit":false},{"lineNumber":7340,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\",","isFullCredit":false},{"lineNumber":7341,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":7342,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.4.2\",","isFullCredit":false},{"lineNumber":7343,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":7344,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^4.2.2\",","isFullCredit":false},{"lineNumber":7345,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":7346,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.6\",","isFullCredit":false},{"lineNumber":7347,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.1.2\",","isFullCredit":false},{"lineNumber":7348,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":7349,"author":{"gitId":"-"},"content":" \"schema-utils\": \"2.7.0\",","isFullCredit":false},{"lineNumber":7350,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.2\",","isFullCredit":false},{"lineNumber":7351,"author":{"gitId":"-"},"content":" \"tapable\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7352,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7353,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7354,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\",","isFullCredit":false},{"lineNumber":7355,"author":{"gitId":"-"},"content":" \"yarn\": \"\u003e\u003d1.0.0\"","isFullCredit":false},{"lineNumber":7356,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7357,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7358,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d 6\",","isFullCredit":false},{"lineNumber":7359,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d 2.7\",","isFullCredit":false},{"lineNumber":7360,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"*\",","isFullCredit":false},{"lineNumber":7361,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":7362,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7363,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":7364,"author":{"gitId":"-"},"content":" \"eslint\": {","isFullCredit":false},{"lineNumber":7365,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7366,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7367,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {","isFullCredit":false},{"lineNumber":7368,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":7369,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7370,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7371,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7372,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":7373,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":7374,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7375,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7376,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7377,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":7378,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7379,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7381,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7382,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7383,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":7384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7385,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7386,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":7387,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":7388,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7389,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7390,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7391,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":7392,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":7393,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7394,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7395,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":7396,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":7397,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7398,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7399,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7400,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":7401,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":7402,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7403,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7404,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7405,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7406,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7407,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":7408,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7409,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7410,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":7411,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":7412,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7413,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7414,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7415,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":7416,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7417,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7418,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":7419,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7420,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7421,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":7422,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":7423,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7424,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7426,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":7427,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":7428,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7429,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7430,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7431,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7432,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7433,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7434,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":7435,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":7436,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7437,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7438,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7439,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":7440,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7441,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7442,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7443,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7445,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":7446,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":7447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7448,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7449,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7450,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":7451,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7452,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7453,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":7454,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7455,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7456,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":7457,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\",","isFullCredit":false},{"lineNumber":7458,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7459,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7460,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7461,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.4\",","isFullCredit":false},{"lineNumber":7462,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.2\",","isFullCredit":false},{"lineNumber":7463,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.4.1\"","isFullCredit":false},{"lineNumber":7464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7465,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7466,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\"","isFullCredit":false},{"lineNumber":7467,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7468,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7469,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7470,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":7471,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7472,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7473,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/semver\": {","isFullCredit":false},{"lineNumber":7474,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":7475,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7476,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7477,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7478,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":7479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7480,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7481,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":7482,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7483,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7484,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7485,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7486,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7487,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":7488,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":7489,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7490,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7491,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7492,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":7493,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7494,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7495,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7497,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7498,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":7499,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":7500,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7501,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":7502,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7503,"author":{"gitId":"-"},"content":" \"node_modules/forwarded\": {","isFullCredit":false},{"lineNumber":7504,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":7505,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7506,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7507,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7508,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":7509,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7510,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7511,"author":{"gitId":"-"},"content":" \"node_modules/fraction.js\": {","isFullCredit":false},{"lineNumber":7512,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":7513,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7514,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7515,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7516,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":7517,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7518,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7519,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":7520,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/infusion\"","isFullCredit":false},{"lineNumber":7521,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7522,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7523,"author":{"gitId":"-"},"content":" \"node_modules/fresh\": {","isFullCredit":false},{"lineNumber":7524,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\",","isFullCredit":false},{"lineNumber":7525,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7526,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7527,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7528,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":7529,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7531,"author":{"gitId":"-"},"content":" \"node_modules/fs-extra\": {","isFullCredit":false},{"lineNumber":7532,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\",","isFullCredit":false},{"lineNumber":7533,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7534,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7535,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7536,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":7537,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":7538,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":7539,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7540,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7541,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7542,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7545,"author":{"gitId":"-"},"content":" \"node_modules/fs-monkey\": {","isFullCredit":false},{"lineNumber":7546,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":7547,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7548,"author":{"gitId":"-"},"content":" \"license\": \"Unlicense\"","isFullCredit":false},{"lineNumber":7549,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7550,"author":{"gitId":"-"},"content":" \"node_modules/fs.realpath\": {","isFullCredit":false},{"lineNumber":7551,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":7552,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":7553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7554,"author":{"gitId":"-"},"content":" \"node_modules/function-bind\": {","isFullCredit":false},{"lineNumber":7555,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":7556,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7557,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7558,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7559,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7560,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7561,"author":{"gitId":"-"},"content":" \"node_modules/function.prototype.name\": {","isFullCredit":false},{"lineNumber":7562,"author":{"gitId":"-"},"content":" \"version\": \"1.1.6\",","isFullCredit":false},{"lineNumber":7563,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7564,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7565,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7566,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":7567,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":7568,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\",","isFullCredit":false},{"lineNumber":7569,"author":{"gitId":"-"},"content":" \"functions-have-names\": \"^1.2.3\"","isFullCredit":false},{"lineNumber":7570,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7571,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7572,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7573,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7574,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7575,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7576,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7577,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7578,"author":{"gitId":"-"},"content":" \"node_modules/functions-have-names\": {","isFullCredit":false},{"lineNumber":7579,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\",","isFullCredit":false},{"lineNumber":7580,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7581,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7582,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7583,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7584,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7585,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7586,"author":{"gitId":"-"},"content":" \"node_modules/gensync\": {","isFullCredit":false},{"lineNumber":7587,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-beta.2\",","isFullCredit":false},{"lineNumber":7588,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7589,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7590,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\"","isFullCredit":false},{"lineNumber":7592,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7593,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7594,"author":{"gitId":"-"},"content":" \"node_modules/get-caller-file\": {","isFullCredit":false},{"lineNumber":7595,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":7596,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7597,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7598,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7599,"author":{"gitId":"-"},"content":" \"node\": \"6.* || 8.* || \u003e\u003d 10.*\"","isFullCredit":false},{"lineNumber":7600,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7601,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7602,"author":{"gitId":"-"},"content":" \"node_modules/get-intrinsic\": {","isFullCredit":false},{"lineNumber":7603,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":7604,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7605,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7606,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":7607,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":7608,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":7609,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":7610,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7611,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7612,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7613,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7614,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7615,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7616,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7617,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7619,"author":{"gitId":"-"},"content":" \"node_modules/get-stream\": {","isFullCredit":false},{"lineNumber":7620,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":7621,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7622,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7623,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7624,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":7625,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7626,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7627,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":7628,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7630,"author":{"gitId":"-"},"content":" \"node_modules/get-symbol-description\": {","isFullCredit":false},{"lineNumber":7631,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7632,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7633,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7634,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7635,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":7636,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":7637,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\"","isFullCredit":false},{"lineNumber":7638,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7639,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7640,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7641,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7642,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7643,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7644,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7645,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7646,"author":{"gitId":"-"},"content":" \"node_modules/glob\": {","isFullCredit":false},{"lineNumber":7647,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\",","isFullCredit":false},{"lineNumber":7648,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7649,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7650,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":7651,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":7652,"author":{"gitId":"-"},"content":" \"inherits\": \"2\",","isFullCredit":false},{"lineNumber":7653,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":7654,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":7655,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7657,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7658,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":7659,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7660,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7661,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":7662,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7663,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7664,"author":{"gitId":"-"},"content":" \"node_modules/glob-parent\": {","isFullCredit":false},{"lineNumber":7665,"author":{"gitId":"-"},"content":" \"version\": \"6.0.2\",","isFullCredit":false},{"lineNumber":7666,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7667,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7668,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7669,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\"","isFullCredit":false},{"lineNumber":7670,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7671,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7672,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":7673,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7674,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7675,"author":{"gitId":"-"},"content":" \"node_modules/glob-to-regexp\": {","isFullCredit":false},{"lineNumber":7676,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":7677,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\"","isFullCredit":false},{"lineNumber":7678,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7679,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":7680,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":7681,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7682,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7683,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":7684,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":7685,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7687,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":7688,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":7689,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7690,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7691,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":7692,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7693,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7694,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":7695,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7697,"author":{"gitId":"-"},"content":" \"node_modules/global-modules\": {","isFullCredit":false},{"lineNumber":7698,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7699,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7700,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7701,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7702,"author":{"gitId":"-"},"content":" \"global-prefix\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":7703,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7704,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7705,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":7706,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7707,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7708,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix\": {","isFullCredit":false},{"lineNumber":7709,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":7710,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7711,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7712,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7713,"author":{"gitId":"-"},"content":" \"ini\": \"^1.3.5\",","isFullCredit":false},{"lineNumber":7714,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":7715,"author":{"gitId":"-"},"content":" \"which\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":7716,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7717,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7718,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":7719,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7720,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7721,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix/node_modules/which\": {","isFullCredit":false},{"lineNumber":7722,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\",","isFullCredit":false},{"lineNumber":7723,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7724,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":7725,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7726,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7727,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7728,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7729,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\"","isFullCredit":false},{"lineNumber":7730,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7731,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7732,"author":{"gitId":"-"},"content":" \"node_modules/globals\": {","isFullCredit":false},{"lineNumber":7733,"author":{"gitId":"-"},"content":" \"version\": \"11.12.0\",","isFullCredit":false},{"lineNumber":7734,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7735,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7736,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7737,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":7738,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7739,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7740,"author":{"gitId":"-"},"content":" \"node_modules/globalthis\": {","isFullCredit":false},{"lineNumber":7741,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":7742,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7744,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7745,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":7746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7747,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7748,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7749,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7750,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7751,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7752,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7753,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7754,"author":{"gitId":"-"},"content":" \"node_modules/globby\": {","isFullCredit":false},{"lineNumber":7755,"author":{"gitId":"-"},"content":" \"version\": \"11.1.0\",","isFullCredit":false},{"lineNumber":7756,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7757,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7758,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7759,"author":{"gitId":"-"},"content":" \"array-union\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":7760,"author":{"gitId":"-"},"content":" \"dir-glob\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":7761,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.9\",","isFullCredit":false},{"lineNumber":7762,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":7763,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.4.1\",","isFullCredit":false},{"lineNumber":7764,"author":{"gitId":"-"},"content":" \"slash\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":7765,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7766,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7767,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7768,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7769,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7770,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7771,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7773,"author":{"gitId":"-"},"content":" \"node_modules/globjoin\": {","isFullCredit":false},{"lineNumber":7774,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":7775,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7776,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7777,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7778,"author":{"gitId":"-"},"content":" \"node_modules/gopd\": {","isFullCredit":false},{"lineNumber":7779,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":7780,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7781,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7782,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.1.3\"","isFullCredit":false},{"lineNumber":7783,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7784,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7785,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7786,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7788,"author":{"gitId":"-"},"content":" \"node_modules/graceful-fs\": {","isFullCredit":false},{"lineNumber":7789,"author":{"gitId":"-"},"content":" \"version\": \"4.2.10\",","isFullCredit":false},{"lineNumber":7790,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":7791,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7792,"author":{"gitId":"-"},"content":" \"node_modules/graphemer\": {","isFullCredit":false},{"lineNumber":7793,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":7794,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7795,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7797,"author":{"gitId":"-"},"content":" \"node_modules/gzip-size\": {","isFullCredit":false},{"lineNumber":7798,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":7799,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7800,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7801,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7802,"author":{"gitId":"-"},"content":" \"duplexer\": \"^0.1.2\"","isFullCredit":false},{"lineNumber":7803,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7804,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7805,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":7806,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7807,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7808,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7809,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7810,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7811,"author":{"gitId":"-"},"content":" \"node_modules/handle-thing\": {","isFullCredit":false},{"lineNumber":7812,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":7813,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7814,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7815,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7816,"author":{"gitId":"-"},"content":" \"node_modules/has-bigints\": {","isFullCredit":false},{"lineNumber":7817,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7818,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7819,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7820,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7821,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7822,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7823,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7824,"author":{"gitId":"-"},"content":" \"node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":7825,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":7826,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7827,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7828,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7829,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":7830,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7832,"author":{"gitId":"-"},"content":" \"node_modules/has-property-descriptors\": {","isFullCredit":false},{"lineNumber":7833,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7834,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7835,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7836,"author":{"gitId":"-"},"content":" \"es-define-property\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":7837,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7838,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7839,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7840,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7842,"author":{"gitId":"-"},"content":" \"node_modules/has-proto\": {","isFullCredit":false},{"lineNumber":7843,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":7844,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7845,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7846,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7847,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7848,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7849,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7850,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7851,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7852,"author":{"gitId":"-"},"content":" \"node_modules/has-symbols\": {","isFullCredit":false},{"lineNumber":7853,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":7854,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7855,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7856,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7857,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7858,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7859,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7860,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7861,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7862,"author":{"gitId":"-"},"content":" \"node_modules/has-tostringtag\": {","isFullCredit":false},{"lineNumber":7863,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":7864,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7865,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7866,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":7867,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7868,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7869,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7870,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7871,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7872,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":7873,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7874,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7875,"author":{"gitId":"-"},"content":" \"node_modules/hash-sum\": {","isFullCredit":false},{"lineNumber":7876,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":7877,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7878,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7879,"author":{"gitId":"-"},"content":" \"node_modules/hasown\": {","isFullCredit":false},{"lineNumber":7880,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":7881,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7882,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7883,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.2\"","isFullCredit":false},{"lineNumber":7884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7885,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7886,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":7887,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7888,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7889,"author":{"gitId":"-"},"content":" \"node_modules/he\": {","isFullCredit":false},{"lineNumber":7890,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":7891,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7892,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7893,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7894,"author":{"gitId":"-"},"content":" \"he\": \"bin/he\"","isFullCredit":false},{"lineNumber":7895,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7896,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7897,"author":{"gitId":"-"},"content":" \"node_modules/highlight.js\": {","isFullCredit":false},{"lineNumber":7898,"author":{"gitId":"-"},"content":" \"version\": \"10.7.3\",","isFullCredit":false},{"lineNumber":7899,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":7900,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7901,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":7902,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7904,"author":{"gitId":"-"},"content":" \"node_modules/hpack.js\": {","isFullCredit":false},{"lineNumber":7905,"author":{"gitId":"-"},"content":" \"version\": \"2.1.6\",","isFullCredit":false},{"lineNumber":7906,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7907,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7908,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7909,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":7910,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":7911,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":7912,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.1.0\"","isFullCredit":false},{"lineNumber":7913,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7914,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7915,"author":{"gitId":"-"},"content":" \"node_modules/html-entities\": {","isFullCredit":false},{"lineNumber":7916,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\",","isFullCredit":false},{"lineNumber":7917,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7918,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":7919,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7920,"author":{"gitId":"-"},"content":" \"node_modules/html-minifier-terser\": {","isFullCredit":false},{"lineNumber":7921,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":7922,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7923,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7924,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7925,"author":{"gitId":"-"},"content":" \"camel-case\": \"^4.1.2\",","isFullCredit":false},{"lineNumber":7926,"author":{"gitId":"-"},"content":" \"clean-css\": \"^5.2.2\",","isFullCredit":false},{"lineNumber":7927,"author":{"gitId":"-"},"content":" \"commander\": \"^8.3.0\",","isFullCredit":false},{"lineNumber":7928,"author":{"gitId":"-"},"content":" \"he\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":7929,"author":{"gitId":"-"},"content":" \"param-case\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":7930,"author":{"gitId":"-"},"content":" \"relateurl\": \"^0.2.7\",","isFullCredit":false},{"lineNumber":7931,"author":{"gitId":"-"},"content":" \"terser\": \"^5.10.0\"","isFullCredit":false},{"lineNumber":7932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7933,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":7934,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"cli.js\"","isFullCredit":false},{"lineNumber":7935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7936,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7937,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":7938,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7939,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7940,"author":{"gitId":"-"},"content":" \"node_modules/html-tags\": {","isFullCredit":false},{"lineNumber":7941,"author":{"gitId":"-"},"content":" \"version\": \"3.3.1\",","isFullCredit":false},{"lineNumber":7942,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz\",","isFullCredit":false},{"lineNumber":7943,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":7944,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7945,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7946,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":7947,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7948,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7949,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":7950,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7951,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7952,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin\": {","isFullCredit":false},{"lineNumber":7953,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\",","isFullCredit":false},{"lineNumber":7954,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7956,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7957,"author":{"gitId":"-"},"content":" \"@types/html-minifier-terser\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":7958,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":7959,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":7960,"author":{"gitId":"-"},"content":" \"pretty-error\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":7961,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":7962,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7963,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7964,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":7965,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7966,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":7967,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":7968,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/html-webpack-plugin\"","isFullCredit":false},{"lineNumber":7969,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7970,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":7971,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.20.0\"","isFullCredit":false},{"lineNumber":7972,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7974,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin/node_modules/tapable\": {","isFullCredit":false},{"lineNumber":7975,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":7976,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":7977,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7978,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":7979,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":7980,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7981,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7982,"author":{"gitId":"-"},"content":" \"node_modules/htmlparser2\": {","isFullCredit":false},{"lineNumber":7983,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":7984,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":7985,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\",","isFullCredit":false},{"lineNumber":7986,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":7987,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":7988,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":7989,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7990,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":7991,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":7992,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":7993,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":7994,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\",","isFullCredit":false},{"lineNumber":7995,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":7996,"author":{"gitId":"-"},"content":" \"entities\": \"^4.3.0\"","isFullCredit":false},{"lineNumber":7997,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":7998,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":7999,"author":{"gitId":"-"},"content":" \"node_modules/http-deceiver\": {","isFullCredit":false},{"lineNumber":8000,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\",","isFullCredit":false},{"lineNumber":8001,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8002,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8003,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8004,"author":{"gitId":"-"},"content":" \"node_modules/http-errors\": {","isFullCredit":false},{"lineNumber":8005,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":8006,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8007,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8008,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8009,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\",","isFullCredit":false},{"lineNumber":8010,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.4\",","isFullCredit":false},{"lineNumber":8011,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\",","isFullCredit":false},{"lineNumber":8012,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\",","isFullCredit":false},{"lineNumber":8013,"author":{"gitId":"-"},"content":" \"toidentifier\": \"1.0.1\"","isFullCredit":false},{"lineNumber":8014,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8015,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8016,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":8017,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8018,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8019,"author":{"gitId":"-"},"content":" \"node_modules/http-errors/node_modules/depd\": {","isFullCredit":false},{"lineNumber":8020,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":8021,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8022,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8023,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8024,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":8025,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8026,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8027,"author":{"gitId":"-"},"content":" \"node_modules/http-parser-js\": {","isFullCredit":false},{"lineNumber":8028,"author":{"gitId":"-"},"content":" \"version\": \"0.5.8\",","isFullCredit":false},{"lineNumber":8029,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8030,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8031,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8032,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy\": {","isFullCredit":false},{"lineNumber":8033,"author":{"gitId":"-"},"content":" \"version\": \"1.18.1\",","isFullCredit":false},{"lineNumber":8034,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8035,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8036,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8037,"author":{"gitId":"-"},"content":" \"eventemitter3\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":8038,"author":{"gitId":"-"},"content":" \"follow-redirects\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":8039,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8040,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8041,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8042,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\"","isFullCredit":false},{"lineNumber":8043,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8045,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware\": {","isFullCredit":false},{"lineNumber":8046,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":8047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8048,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8049,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8050,"author":{"gitId":"-"},"content":" \"@types/http-proxy\": \"^1.17.8\",","isFullCredit":false},{"lineNumber":8051,"author":{"gitId":"-"},"content":" \"http-proxy\": \"^1.18.1\",","isFullCredit":false},{"lineNumber":8052,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":8053,"author":{"gitId":"-"},"content":" \"is-plain-obj\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":8054,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.2\"","isFullCredit":false},{"lineNumber":8055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8056,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8057,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":8058,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8059,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":8060,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\"","isFullCredit":false},{"lineNumber":8061,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8062,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":8063,"author":{"gitId":"-"},"content":" \"@types/express\": {","isFullCredit":false},{"lineNumber":8064,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":8065,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8066,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8067,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8068,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware/node_modules/is-plain-obj\": {","isFullCredit":false},{"lineNumber":8069,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":8070,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8071,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8072,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8073,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8075,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8076,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":8077,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8078,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8079,"author":{"gitId":"-"},"content":" \"node_modules/human-signals\": {","isFullCredit":false},{"lineNumber":8080,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":8081,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8082,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":8083,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8084,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.17.0\"","isFullCredit":false},{"lineNumber":8085,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8087,"author":{"gitId":"-"},"content":" \"node_modules/iconv-lite\": {","isFullCredit":false},{"lineNumber":8088,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":8089,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8090,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8091,"author":{"gitId":"-"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":8092,"author":{"gitId":"-"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":8093,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8094,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3.0.0\"","isFullCredit":false},{"lineNumber":8095,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8096,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8097,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8098,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8099,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8100,"author":{"gitId":"-"},"content":" \"node_modules/icss-utils\": {","isFullCredit":false},{"lineNumber":8101,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":8102,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8103,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":8104,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8105,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\"","isFullCredit":false},{"lineNumber":8106,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8107,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":8108,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":8109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8110,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8111,"author":{"gitId":"-"},"content":" \"node_modules/ieee754\": {","isFullCredit":false},{"lineNumber":8112,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":8113,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8114,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":8115,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":8116,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":8117,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":8118,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8119,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":8120,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":8121,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":8122,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8123,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":8124,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":8125,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":8126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8127,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":8128,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\"","isFullCredit":false},{"lineNumber":8129,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8130,"author":{"gitId":"-"},"content":" \"node_modules/ignore\": {","isFullCredit":false},{"lineNumber":8131,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\",","isFullCredit":false},{"lineNumber":8132,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz\",","isFullCredit":false},{"lineNumber":8133,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw\u003d\u003d\",","isFullCredit":false},{"lineNumber":8134,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8135,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":8137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8139,"author":{"gitId":"-"},"content":" \"node_modules/immediate\": {","isFullCredit":false},{"lineNumber":8140,"author":{"gitId":"-"},"content":" \"version\": \"3.0.6\",","isFullCredit":false},{"lineNumber":8141,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8142,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8143,"author":{"gitId":"-"},"content":" \"node_modules/immutable\": {","isFullCredit":false},{"lineNumber":8144,"author":{"gitId":"-"},"content":" \"version\": \"4.2.4\",","isFullCredit":false},{"lineNumber":8145,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8146,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8147,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8148,"author":{"gitId":"-"},"content":" \"node_modules/import-fresh\": {","isFullCredit":false},{"lineNumber":8149,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":8150,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8151,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8152,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8153,"author":{"gitId":"-"},"content":" \"parent-module\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":8154,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":8155,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8156,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8157,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":8158,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8159,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8160,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":8161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8162,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8163,"author":{"gitId":"-"},"content":" \"node_modules/imurmurhash\": {","isFullCredit":false},{"lineNumber":8164,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":8165,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8166,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8167,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.19\"","isFullCredit":false},{"lineNumber":8169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8170,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8171,"author":{"gitId":"-"},"content":" \"node_modules/inflight\": {","isFullCredit":false},{"lineNumber":8172,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\",","isFullCredit":false},{"lineNumber":8173,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":8174,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8175,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":8176,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":8177,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8178,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8179,"author":{"gitId":"-"},"content":" \"node_modules/inherits\": {","isFullCredit":false},{"lineNumber":8180,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":8181,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":8182,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8183,"author":{"gitId":"-"},"content":" \"node_modules/ini\": {","isFullCredit":false},{"lineNumber":8184,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\",","isFullCredit":false},{"lineNumber":8185,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8186,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":8187,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8188,"author":{"gitId":"-"},"content":" \"node_modules/internal-slot\": {","isFullCredit":false},{"lineNumber":8189,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":8190,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8191,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8192,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8193,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":8194,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":8195,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":8196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8197,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8198,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8199,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8200,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8201,"author":{"gitId":"-"},"content":" \"node_modules/ipaddr.js\": {","isFullCredit":false},{"lineNumber":8202,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":8203,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8204,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8205,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8206,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\"","isFullCredit":false},{"lineNumber":8207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8208,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8209,"author":{"gitId":"-"},"content":" \"node_modules/is-array-buffer\": {","isFullCredit":false},{"lineNumber":8210,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":8211,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8212,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8213,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8214,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":8215,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":8216,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8217,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8218,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8219,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8220,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8221,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8223,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8224,"author":{"gitId":"-"},"content":" \"node_modules/is-arrayish\": {","isFullCredit":false},{"lineNumber":8225,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\",","isFullCredit":false},{"lineNumber":8226,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8227,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8228,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8229,"author":{"gitId":"-"},"content":" \"node_modules/is-bigint\": {","isFullCredit":false},{"lineNumber":8230,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":8231,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8232,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8233,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8234,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":8235,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8236,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8237,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8238,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8239,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8240,"author":{"gitId":"-"},"content":" \"node_modules/is-binary-path\": {","isFullCredit":false},{"lineNumber":8241,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":8242,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8243,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8244,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8245,"author":{"gitId":"-"},"content":" \"binary-extensions\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8246,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8247,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8248,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8249,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8250,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8251,"author":{"gitId":"-"},"content":" \"node_modules/is-boolean-object\": {","isFullCredit":false},{"lineNumber":8252,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":8253,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8254,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8255,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8256,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":8257,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8259,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8260,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8261,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8262,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8263,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8266,"author":{"gitId":"-"},"content":" \"node_modules/is-callable\": {","isFullCredit":false},{"lineNumber":8267,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\",","isFullCredit":false},{"lineNumber":8268,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8269,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8270,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8271,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8272,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8273,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8274,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8275,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8276,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8277,"author":{"gitId":"-"},"content":" \"node_modules/is-ci\": {","isFullCredit":false},{"lineNumber":8278,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":8279,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8280,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8281,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8282,"author":{"gitId":"-"},"content":" \"ci-info\": \"^1.5.0\"","isFullCredit":false},{"lineNumber":8283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8284,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8285,"author":{"gitId":"-"},"content":" \"is-ci\": \"bin.js\"","isFullCredit":false},{"lineNumber":8286,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8287,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8288,"author":{"gitId":"-"},"content":" \"node_modules/is-core-module\": {","isFullCredit":false},{"lineNumber":8289,"author":{"gitId":"-"},"content":" \"version\": \"2.13.1\",","isFullCredit":false},{"lineNumber":8290,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8291,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8292,"author":{"gitId":"-"},"content":" \"hasown\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8293,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8294,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8295,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8296,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8297,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8298,"author":{"gitId":"-"},"content":" \"node_modules/is-date-object\": {","isFullCredit":false},{"lineNumber":8299,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":8300,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8301,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8302,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8303,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8304,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8305,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8306,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8307,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8308,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8309,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8310,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8311,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8312,"author":{"gitId":"-"},"content":" \"node_modules/is-docker\": {","isFullCredit":false},{"lineNumber":8313,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":8314,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8315,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8316,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8317,"author":{"gitId":"-"},"content":" \"is-docker\": \"cli.js\"","isFullCredit":false},{"lineNumber":8318,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8319,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8320,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8322,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8323,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":8324,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8325,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8326,"author":{"gitId":"-"},"content":" \"node_modules/is-expression\": {","isFullCredit":false},{"lineNumber":8327,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":8328,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8330,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8331,"author":{"gitId":"-"},"content":" \"acorn\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":8332,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\"","isFullCredit":false},{"lineNumber":8333,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8335,"author":{"gitId":"-"},"content":" \"node_modules/is-expression/node_modules/acorn\": {","isFullCredit":false},{"lineNumber":8336,"author":{"gitId":"-"},"content":" \"version\": \"7.4.1\",","isFullCredit":false},{"lineNumber":8337,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8338,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8339,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8340,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":8341,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8342,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8343,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":8344,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8345,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8346,"author":{"gitId":"-"},"content":" \"node_modules/is-extglob\": {","isFullCredit":false},{"lineNumber":8347,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":8348,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8349,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8350,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8351,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8354,"author":{"gitId":"-"},"content":" \"node_modules/is-file-esm\": {","isFullCredit":false},{"lineNumber":8355,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":8356,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8357,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8358,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8359,"author":{"gitId":"-"},"content":" \"read-pkg-up\": \"^7.0.1\"","isFullCredit":false},{"lineNumber":8360,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8361,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8362,"author":{"gitId":"-"},"content":" \"node_modules/is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":8363,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":8364,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8365,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8366,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8367,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8368,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8369,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8370,"author":{"gitId":"-"},"content":" \"node_modules/is-glob\": {","isFullCredit":false},{"lineNumber":8371,"author":{"gitId":"-"},"content":" \"version\": \"4.0.3\",","isFullCredit":false},{"lineNumber":8372,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8373,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8374,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8375,"author":{"gitId":"-"},"content":" \"is-extglob\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":8376,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8377,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8378,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8379,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8380,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8381,"author":{"gitId":"-"},"content":" \"node_modules/is-interactive\": {","isFullCredit":false},{"lineNumber":8382,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":8383,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8384,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8385,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8386,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8387,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8388,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8389,"author":{"gitId":"-"},"content":" \"node_modules/is-negative-zero\": {","isFullCredit":false},{"lineNumber":8390,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":8391,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8392,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8393,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8394,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8395,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8396,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8397,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8398,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8399,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8400,"author":{"gitId":"-"},"content":" \"node_modules/is-number\": {","isFullCredit":false},{"lineNumber":8401,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":8402,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8403,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8404,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12.0\"","isFullCredit":false},{"lineNumber":8406,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8407,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8408,"author":{"gitId":"-"},"content":" \"node_modules/is-number-object\": {","isFullCredit":false},{"lineNumber":8409,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":8410,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8411,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8412,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8413,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8415,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8417,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8418,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8419,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8420,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8422,"author":{"gitId":"-"},"content":" \"node_modules/is-path-inside\": {","isFullCredit":false},{"lineNumber":8423,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\",","isFullCredit":false},{"lineNumber":8424,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8425,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8426,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8427,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8428,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8429,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8430,"author":{"gitId":"-"},"content":" \"node_modules/is-plain-object\": {","isFullCredit":false},{"lineNumber":8431,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":8432,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8433,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8434,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8435,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8437,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8438,"author":{"gitId":"-"},"content":" \"node_modules/is-promise\": {","isFullCredit":false},{"lineNumber":8439,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\",","isFullCredit":false},{"lineNumber":8440,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8441,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8442,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8443,"author":{"gitId":"-"},"content":" \"node_modules/is-regex\": {","isFullCredit":false},{"lineNumber":8444,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":8445,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8446,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8447,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":8448,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8450,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8451,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8453,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8454,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8455,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8456,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8457,"author":{"gitId":"-"},"content":" \"node_modules/is-shared-array-buffer\": {","isFullCredit":false},{"lineNumber":8458,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":8459,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8460,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8461,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8462,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.7\"","isFullCredit":false},{"lineNumber":8463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8464,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8465,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8466,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8467,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8468,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8469,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8470,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8471,"author":{"gitId":"-"},"content":" \"node_modules/is-stream\": {","isFullCredit":false},{"lineNumber":8472,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":8473,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8474,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8475,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8476,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8477,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8479,"author":{"gitId":"-"},"content":" \"node_modules/is-string\": {","isFullCredit":false},{"lineNumber":8480,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":8481,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8482,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8483,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8484,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":8485,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8486,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8487,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8488,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8489,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8490,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8491,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8493,"author":{"gitId":"-"},"content":" \"node_modules/is-symbol\": {","isFullCredit":false},{"lineNumber":8494,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":8495,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8496,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8497,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8498,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":8499,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8500,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8501,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8502,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8503,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8504,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8505,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8507,"author":{"gitId":"-"},"content":" \"node_modules/is-typed-array\": {","isFullCredit":false},{"lineNumber":8508,"author":{"gitId":"-"},"content":" \"version\": \"1.1.13\",","isFullCredit":false},{"lineNumber":8509,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8510,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8511,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8512,"author":{"gitId":"-"},"content":" \"which-typed-array\": \"^1.1.14\"","isFullCredit":false},{"lineNumber":8513,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8514,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8515,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":8516,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8517,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8518,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8519,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8520,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8521,"author":{"gitId":"-"},"content":" \"node_modules/is-unicode-supported\": {","isFullCredit":false},{"lineNumber":8522,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":8523,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8524,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8525,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8526,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8527,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8528,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8529,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":8530,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8531,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8532,"author":{"gitId":"-"},"content":" \"node_modules/is-weakref\": {","isFullCredit":false},{"lineNumber":8533,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":8534,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8535,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8536,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8537,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":8538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8539,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8540,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":8541,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8542,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8543,"author":{"gitId":"-"},"content":" \"node_modules/is-wsl\": {","isFullCredit":false},{"lineNumber":8544,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":8545,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8546,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8547,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8548,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8549,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8550,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8551,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8552,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8554,"author":{"gitId":"-"},"content":" \"node_modules/isarray\": {","isFullCredit":false},{"lineNumber":8555,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":8556,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8558,"author":{"gitId":"-"},"content":" \"node_modules/isexe\": {","isFullCredit":false},{"lineNumber":8559,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":8560,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8561,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":8562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8563,"author":{"gitId":"-"},"content":" \"node_modules/isobject\": {","isFullCredit":false},{"lineNumber":8564,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":8565,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8566,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8567,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8568,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8569,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8570,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8571,"author":{"gitId":"-"},"content":" \"node_modules/javascript-stringify\": {","isFullCredit":false},{"lineNumber":8572,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":8573,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8574,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8575,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8576,"author":{"gitId":"-"},"content":" \"node_modules/jest-util\": {","isFullCredit":false},{"lineNumber":8577,"author":{"gitId":"-"},"content":" \"version\": \"29.7.0\",","isFullCredit":false},{"lineNumber":8578,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz\",","isFullCredit":false},{"lineNumber":8579,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA\u003d\u003d\",","isFullCredit":false},{"lineNumber":8580,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8581,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8582,"author":{"gitId":"-"},"content":" \"@jest/types\": \"^29.6.3\",","isFullCredit":false},{"lineNumber":8583,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":8584,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":8585,"author":{"gitId":"-"},"content":" \"ci-info\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":8586,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.9\",","isFullCredit":false},{"lineNumber":8587,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.2.3\"","isFullCredit":false},{"lineNumber":8588,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":8589,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8590,"author":{"gitId":"-"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":8591,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":8592,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":8593,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":8594,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":8595,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",","isFullCredit":false},{"lineNumber":8596,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\",","isFullCredit":false},{"lineNumber":8597,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8598,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8599,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":8600,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8601,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8602,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8603,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8604,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8605,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":8606,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8607,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8608,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":8609,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":8610,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",","isFullCredit":false},{"lineNumber":8611,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\",","isFullCredit":false},{"lineNumber":8612,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8613,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8614,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":8615,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":8616,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8617,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8619,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":8620,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8621,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":8622,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8624,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/ci-info\": {","isFullCredit":false},{"lineNumber":8625,"author":{"gitId":"-"},"content":" \"version\": \"3.9.0\",","isFullCredit":false},{"lineNumber":8626,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",","isFullCredit":false},{"lineNumber":8627,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":8628,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8629,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":8630,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":8631,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":8632,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\"","isFullCredit":false},{"lineNumber":8633,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8634,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":8635,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8636,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8637,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8638,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8639,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":8640,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":8641,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",","isFullCredit":false},{"lineNumber":8642,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":8643,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8644,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8645,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":8646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8647,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8648,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":8649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8651,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":8652,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":8653,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",","isFullCredit":false},{"lineNumber":8654,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\",","isFullCredit":false},{"lineNumber":8655,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":8656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8657,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":8658,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":8659,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":8660,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":8661,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8662,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8664,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8665,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8666,"author":{"gitId":"-"},"content":" \"node_modules/jest-util/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":8667,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":8668,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":8669,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":8670,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8671,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8672,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":8673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8674,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8675,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8676,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8677,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8678,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker\": {","isFullCredit":false},{"lineNumber":8679,"author":{"gitId":"-"},"content":" \"version\": \"27.5.1\",","isFullCredit":false},{"lineNumber":8680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8681,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8682,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":8683,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":8684,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":8685,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8686,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8687,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":8688,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8689,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8690,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":8691,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":8692,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8693,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8694,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":8695,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8697,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":8698,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":8699,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8700,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8701,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":8702,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8703,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8704,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8705,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8706,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8707,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":8708,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8710,"author":{"gitId":"-"},"content":" \"node_modules/joi\": {","isFullCredit":false},{"lineNumber":8711,"author":{"gitId":"-"},"content":" \"version\": \"17.7.0\",","isFullCredit":false},{"lineNumber":8712,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8713,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":8714,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8715,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":8716,"author":{"gitId":"-"},"content":" \"@hapi/topo\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":8717,"author":{"gitId":"-"},"content":" \"@sideway/address\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":8718,"author":{"gitId":"-"},"content":" \"@sideway/formula\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":8719,"author":{"gitId":"-"},"content":" \"@sideway/pinpoint\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8720,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8721,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8722,"author":{"gitId":"-"},"content":" \"node_modules/js-message\": {","isFullCredit":false},{"lineNumber":8723,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":8724,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8725,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8726,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8727,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6.0\"","isFullCredit":false},{"lineNumber":8728,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8729,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8730,"author":{"gitId":"-"},"content":" \"node_modules/js-stringify\": {","isFullCredit":false},{"lineNumber":8731,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":8732,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8733,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8734,"author":{"gitId":"-"},"content":" \"node_modules/js-tokens\": {","isFullCredit":false},{"lineNumber":8735,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":8736,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8737,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8738,"author":{"gitId":"-"},"content":" \"node_modules/js-yaml\": {","isFullCredit":false},{"lineNumber":8739,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":8740,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8741,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8742,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8743,"author":{"gitId":"-"},"content":" \"argparse\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":8744,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8745,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8746,"author":{"gitId":"-"},"content":" \"js-yaml\": \"bin/js-yaml.js\"","isFullCredit":false},{"lineNumber":8747,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8749,"author":{"gitId":"-"},"content":" \"node_modules/jsesc\": {","isFullCredit":false},{"lineNumber":8750,"author":{"gitId":"-"},"content":" \"version\": \"2.5.2\",","isFullCredit":false},{"lineNumber":8751,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8752,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8753,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8754,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\"","isFullCredit":false},{"lineNumber":8755,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8756,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8757,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":8758,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8759,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8760,"author":{"gitId":"-"},"content":" \"node_modules/json-buffer\": {","isFullCredit":false},{"lineNumber":8761,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":8762,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",","isFullCredit":false},{"lineNumber":8763,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":8764,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":8765,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8766,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-better-errors\": {","isFullCredit":false},{"lineNumber":8767,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":8768,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8769,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8770,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8771,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-even-better-errors\": {","isFullCredit":false},{"lineNumber":8772,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":8773,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8774,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8775,"author":{"gitId":"-"},"content":" \"node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":8776,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":8777,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8778,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8779,"author":{"gitId":"-"},"content":" \"node_modules/json-stable-stringify-without-jsonify\": {","isFullCredit":false},{"lineNumber":8780,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":8781,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8782,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8783,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8784,"author":{"gitId":"-"},"content":" \"node_modules/json5\": {","isFullCredit":false},{"lineNumber":8785,"author":{"gitId":"-"},"content":" \"version\": \"2.2.3\",","isFullCredit":false},{"lineNumber":8786,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8787,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8788,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8789,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\"","isFullCredit":false},{"lineNumber":8790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8791,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8792,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":8793,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8794,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8795,"author":{"gitId":"-"},"content":" \"node_modules/jsonfile\": {","isFullCredit":false},{"lineNumber":8796,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":8797,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8798,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8799,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8800,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8801,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8802,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {","isFullCredit":false},{"lineNumber":8803,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\"","isFullCredit":false},{"lineNumber":8804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8805,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8806,"author":{"gitId":"-"},"content":" \"node_modules/jstransformer\": {","isFullCredit":false},{"lineNumber":8807,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":8808,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8809,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8810,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8811,"author":{"gitId":"-"},"content":" \"is-promise\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":8812,"author":{"gitId":"-"},"content":" \"promise\": \"^7.0.1\"","isFullCredit":false},{"lineNumber":8813,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8814,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8815,"author":{"gitId":"-"},"content":" \"node_modules/jszip\": {","isFullCredit":false},{"lineNumber":8816,"author":{"gitId":"-"},"content":" \"version\": \"3.10.1\",","isFullCredit":false},{"lineNumber":8817,"author":{"gitId":"-"},"content":" \"license\": \"(MIT OR GPL-3.0-or-later)\",","isFullCredit":false},{"lineNumber":8818,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8819,"author":{"gitId":"-"},"content":" \"lie\": \"~3.3.0\",","isFullCredit":false},{"lineNumber":8820,"author":{"gitId":"-"},"content":" \"pako\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":8821,"author":{"gitId":"-"},"content":" \"readable-stream\": \"~2.3.6\",","isFullCredit":false},{"lineNumber":8822,"author":{"gitId":"-"},"content":" \"setimmediate\": \"^1.0.5\"","isFullCredit":false},{"lineNumber":8823,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8825,"author":{"gitId":"-"},"content":" \"node_modules/keyv\": {","isFullCredit":false},{"lineNumber":8826,"author":{"gitId":"-"},"content":" \"version\": \"4.5.4\",","isFullCredit":false},{"lineNumber":8827,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",","isFullCredit":false},{"lineNumber":8828,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw\u003d\u003d\",","isFullCredit":false},{"lineNumber":8829,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8830,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8831,"author":{"gitId":"-"},"content":" \"json-buffer\": \"3.0.1\"","isFullCredit":false},{"lineNumber":8832,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8833,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":8834,"author":{"gitId":"-"},"content":" \"node_modules/kind-of\": {","isFullCredit":false},{"lineNumber":8835,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\",","isFullCredit":false},{"lineNumber":8836,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8837,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8838,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8839,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":8840,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8842,"author":{"gitId":"-"},"content":" \"node_modules/klona\": {","isFullCredit":false},{"lineNumber":8843,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":8844,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8846,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8847,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":8848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8850,"author":{"gitId":"-"},"content":" \"node_modules/known-css-properties\": {","isFullCredit":false},{"lineNumber":8851,"author":{"gitId":"-"},"content":" \"version\": \"0.30.0\",","isFullCredit":false},{"lineNumber":8852,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz\",","isFullCredit":false},{"lineNumber":8853,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":8854,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":8855,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8856,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor\": {","isFullCredit":false},{"lineNumber":8857,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\",","isFullCredit":false},{"lineNumber":8858,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8859,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8860,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8861,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":8862,"author":{"gitId":"-"},"content":" \"shell-quote\": \"^1.7.3\"","isFullCredit":false},{"lineNumber":8863,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8864,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8865,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor-middleware\": {","isFullCredit":false},{"lineNumber":8866,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\",","isFullCredit":false},{"lineNumber":8867,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8868,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8869,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8870,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.6.0\"","isFullCredit":false},{"lineNumber":8871,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8872,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8873,"author":{"gitId":"-"},"content":" \"node_modules/levn\": {","isFullCredit":false},{"lineNumber":8874,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\",","isFullCredit":false},{"lineNumber":8875,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8876,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8877,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8878,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":8879,"author":{"gitId":"-"},"content":" \"type-check\": \"~0.4.0\"","isFullCredit":false},{"lineNumber":8880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8881,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8882,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":8883,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8885,"author":{"gitId":"-"},"content":" \"node_modules/lie\": {","isFullCredit":false},{"lineNumber":8886,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":8887,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8888,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8889,"author":{"gitId":"-"},"content":" \"immediate\": \"~3.0.5\"","isFullCredit":false},{"lineNumber":8890,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8892,"author":{"gitId":"-"},"content":" \"node_modules/lilconfig\": {","isFullCredit":false},{"lineNumber":8893,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\",","isFullCredit":false},{"lineNumber":8894,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8895,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8896,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8897,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8898,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8899,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8900,"author":{"gitId":"-"},"content":" \"node_modules/lines-and-columns\": {","isFullCredit":false},{"lineNumber":8901,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\",","isFullCredit":false},{"lineNumber":8902,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8904,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8905,"author":{"gitId":"-"},"content":" \"node_modules/linkify-it\": {","isFullCredit":false},{"lineNumber":8906,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":8907,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8908,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8909,"author":{"gitId":"-"},"content":" \"uc.micro\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":8910,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":8911,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8912,"author":{"gitId":"-"},"content":" \"node_modules/loader-runner\": {","isFullCredit":false},{"lineNumber":8913,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":8914,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8915,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8916,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.11.5\"","isFullCredit":false},{"lineNumber":8917,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8918,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8919,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils\": {","isFullCredit":false},{"lineNumber":8920,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\",","isFullCredit":false},{"lineNumber":8921,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8922,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8923,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8924,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\",","isFullCredit":false},{"lineNumber":8925,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":8926,"author":{"gitId":"-"},"content":" \"json5\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":8927,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8928,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8929,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\"","isFullCredit":false},{"lineNumber":8930,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8931,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8932,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils/node_modules/json5\": {","isFullCredit":false},{"lineNumber":8933,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":8934,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8935,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8936,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8937,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":8938,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8939,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":8940,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\"","isFullCredit":false},{"lineNumber":8941,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8942,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8943,"author":{"gitId":"-"},"content":" \"node_modules/locate-path\": {","isFullCredit":false},{"lineNumber":8944,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":8945,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8946,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":8947,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":8948,"author":{"gitId":"-"},"content":" \"p-locate\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":8949,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8950,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":8951,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":8952,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8953,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":8954,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":8955,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":8956,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8957,"author":{"gitId":"-"},"content":" \"node_modules/lodash\": {","isFullCredit":false},{"lineNumber":8958,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\",","isFullCredit":false},{"lineNumber":8959,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8960,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8961,"author":{"gitId":"-"},"content":" \"node_modules/lodash.debounce\": {","isFullCredit":false},{"lineNumber":8962,"author":{"gitId":"-"},"content":" \"version\": \"4.0.8\",","isFullCredit":false},{"lineNumber":8963,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8964,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8965,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8966,"author":{"gitId":"-"},"content":" \"node_modules/lodash.defaultsdeep\": {","isFullCredit":false},{"lineNumber":8967,"author":{"gitId":"-"},"content":" \"version\": \"4.6.1\",","isFullCredit":false},{"lineNumber":8968,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8969,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8971,"author":{"gitId":"-"},"content":" \"node_modules/lodash.kebabcase\": {","isFullCredit":false},{"lineNumber":8972,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":8973,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8974,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8975,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8976,"author":{"gitId":"-"},"content":" \"node_modules/lodash.mapvalues\": {","isFullCredit":false},{"lineNumber":8977,"author":{"gitId":"-"},"content":" \"version\": \"4.6.0\",","isFullCredit":false},{"lineNumber":8978,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8979,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8980,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8981,"author":{"gitId":"-"},"content":" \"node_modules/lodash.memoize\": {","isFullCredit":false},{"lineNumber":8982,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":8983,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8984,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8985,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8986,"author":{"gitId":"-"},"content":" \"node_modules/lodash.merge\": {","isFullCredit":false},{"lineNumber":8987,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\",","isFullCredit":false},{"lineNumber":8988,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8989,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8990,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8991,"author":{"gitId":"-"},"content":" \"node_modules/lodash.truncate\": {","isFullCredit":false},{"lineNumber":8992,"author":{"gitId":"-"},"content":" \"version\": \"4.4.2\",","isFullCredit":false},{"lineNumber":8993,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8994,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":8995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":8996,"author":{"gitId":"-"},"content":" \"node_modules/lodash.uniq\": {","isFullCredit":false},{"lineNumber":8997,"author":{"gitId":"-"},"content":" \"version\": \"4.5.0\",","isFullCredit":false},{"lineNumber":8998,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":8999,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9000,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9001,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols\": {","isFullCredit":false},{"lineNumber":9002,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":9003,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9004,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9005,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9006,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9007,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":9008,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9009,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9010,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9011,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9012,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9013,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9014,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9015,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9016,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":9017,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":9018,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9019,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9020,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9021,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":9022,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9023,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9024,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9025,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9026,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9027,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":9028,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9029,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9030,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":9031,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":9032,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9033,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9034,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9035,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9036,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":9037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9038,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9039,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9040,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9041,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9042,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":9043,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9044,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9045,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":9046,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":9047,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9048,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9049,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9050,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":9051,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9052,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9053,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":9054,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9056,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":9057,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":9058,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9059,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9060,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9061,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":9062,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":9063,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9065,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9066,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9067,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9068,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9069,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":9070,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":9071,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9072,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9073,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9074,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9075,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9076,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9077,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9078,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9079,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9080,"author":{"gitId":"-"},"content":" \"node_modules/log-update\": {","isFullCredit":false},{"lineNumber":9081,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":9082,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9083,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9084,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9085,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":9086,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":9087,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^3.0.1\"","isFullCredit":false},{"lineNumber":9088,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9089,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9090,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9091,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9092,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9093,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":9094,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":9095,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9096,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9097,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9098,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9099,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9100,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9101,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/cli-cursor\": {","isFullCredit":false},{"lineNumber":9102,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":9103,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9104,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9105,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9106,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":9107,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9108,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9109,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9111,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9112,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/is-fullwidth-code-point\": {","isFullCredit":false},{"lineNumber":9113,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":9114,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9115,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9116,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9120,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/mimic-fn\": {","isFullCredit":false},{"lineNumber":9121,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":9122,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9123,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9124,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9125,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9127,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9128,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/onetime\": {","isFullCredit":false},{"lineNumber":9129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":9130,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9131,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9132,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9133,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":9134,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9135,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9139,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/restore-cursor\": {","isFullCredit":false},{"lineNumber":9140,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":9141,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9143,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9144,"author":{"gitId":"-"},"content":" \"onetime\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":9145,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":9146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9147,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9148,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9150,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9151,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/string-width\": {","isFullCredit":false},{"lineNumber":9152,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":9153,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9154,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9155,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9156,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":9157,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9158,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9159,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9160,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9162,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9163,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":9164,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":9165,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9166,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9167,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9168,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":9169,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9170,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9171,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9172,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9173,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9174,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":9175,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":9176,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9177,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9178,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9179,"author":{"gitId":"-"},"content":" \"string-width\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":9180,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9181,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9182,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9183,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9185,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9186,"author":{"gitId":"-"},"content":" \"node_modules/loose-envify\": {","isFullCredit":false},{"lineNumber":9187,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":9188,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9189,"author":{"gitId":"-"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":9190,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9191,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^3.0.0 || ^4.0.0\"","isFullCredit":false},{"lineNumber":9192,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9193,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9194,"author":{"gitId":"-"},"content":" \"loose-envify\": \"cli.js\"","isFullCredit":false},{"lineNumber":9195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9196,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9197,"author":{"gitId":"-"},"content":" \"node_modules/lower-case\": {","isFullCredit":false},{"lineNumber":9198,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":9199,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9200,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9201,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9202,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":9203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9205,"author":{"gitId":"-"},"content":" \"node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":9206,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":9207,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9208,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":9209,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9210,"author":{"gitId":"-"},"content":" \"yallist\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":9211,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9212,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9213,"author":{"gitId":"-"},"content":" \"node_modules/magic-string\": {","isFullCredit":false},{"lineNumber":9214,"author":{"gitId":"-"},"content":" \"version\": \"0.30.8\",","isFullCredit":false},{"lineNumber":9215,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9217,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.15\"","isFullCredit":false},{"lineNumber":9218,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9219,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":9221,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9223,"author":{"gitId":"-"},"content":" \"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec\": {","isFullCredit":false},{"lineNumber":9224,"author":{"gitId":"-"},"content":" \"version\": \"1.4.15\",","isFullCredit":false},{"lineNumber":9225,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9226,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9227,"author":{"gitId":"-"},"content":" \"node_modules/make-dir\": {","isFullCredit":false},{"lineNumber":9228,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":9229,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9230,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9231,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9232,"author":{"gitId":"-"},"content":" \"semver\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":9233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9234,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9235,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9237,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9238,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9240,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9241,"author":{"gitId":"-"},"content":" \"node_modules/markdown-it\": {","isFullCredit":false},{"lineNumber":9242,"author":{"gitId":"-"},"content":" \"version\": \"14.1.0\",","isFullCredit":false},{"lineNumber":9243,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9244,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9245,"author":{"gitId":"-"},"content":" \"argparse\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":9246,"author":{"gitId":"-"},"content":" \"entities\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":9247,"author":{"gitId":"-"},"content":" \"linkify-it\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":9248,"author":{"gitId":"-"},"content":" \"mdurl\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":9249,"author":{"gitId":"-"},"content":" \"punycode.js\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":9250,"author":{"gitId":"-"},"content":" \"uc.micro\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":9251,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9252,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9253,"author":{"gitId":"-"},"content":" \"markdown-it\": \"bin/markdown-it.mjs\"","isFullCredit":false},{"lineNumber":9254,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9255,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9256,"author":{"gitId":"-"},"content":" \"node_modules/mathml-tag-names\": {","isFullCredit":false},{"lineNumber":9257,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":9258,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9259,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9260,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9261,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":9262,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/wooorm\"","isFullCredit":false},{"lineNumber":9263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9264,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9265,"author":{"gitId":"-"},"content":" \"node_modules/mdn-data\": {","isFullCredit":false},{"lineNumber":9266,"author":{"gitId":"-"},"content":" \"version\": \"2.0.14\",","isFullCredit":false},{"lineNumber":9267,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9268,"author":{"gitId":"-"},"content":" \"license\": \"CC0-1.0\"","isFullCredit":false},{"lineNumber":9269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9270,"author":{"gitId":"-"},"content":" \"node_modules/mdurl\": {","isFullCredit":false},{"lineNumber":9271,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":9272,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9274,"author":{"gitId":"-"},"content":" \"node_modules/media-typer\": {","isFullCredit":false},{"lineNumber":9275,"author":{"gitId":"-"},"content":" \"version\": \"0.3.0\",","isFullCredit":false},{"lineNumber":9276,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9277,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9278,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9279,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":9280,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9282,"author":{"gitId":"-"},"content":" \"node_modules/memfs\": {","isFullCredit":false},{"lineNumber":9283,"author":{"gitId":"-"},"content":" \"version\": \"3.4.13\",","isFullCredit":false},{"lineNumber":9284,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9285,"author":{"gitId":"-"},"content":" \"license\": \"Unlicense\",","isFullCredit":false},{"lineNumber":9286,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9287,"author":{"gitId":"-"},"content":" \"fs-monkey\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":9288,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9289,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9290,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\"","isFullCredit":false},{"lineNumber":9291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9292,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9293,"author":{"gitId":"-"},"content":" \"node_modules/meow\": {","isFullCredit":false},{"lineNumber":9294,"author":{"gitId":"-"},"content":" \"version\": \"13.2.0\",","isFullCredit":false},{"lineNumber":9295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/meow/-/meow-13.2.0.tgz\",","isFullCredit":false},{"lineNumber":9296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA\u003d\u003d\",","isFullCredit":false},{"lineNumber":9297,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9298,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9299,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d18\"","isFullCredit":false},{"lineNumber":9300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9301,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9302,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9304,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9305,"author":{"gitId":"-"},"content":" \"node_modules/merge-descriptors\": {","isFullCredit":false},{"lineNumber":9306,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":9307,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9308,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9309,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9310,"author":{"gitId":"-"},"content":" \"node_modules/merge-source-map\": {","isFullCredit":false},{"lineNumber":9311,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":9312,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9313,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9314,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9315,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\"","isFullCredit":false},{"lineNumber":9316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9318,"author":{"gitId":"-"},"content":" \"node_modules/merge-stream\": {","isFullCredit":false},{"lineNumber":9319,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":9320,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9322,"author":{"gitId":"-"},"content":" \"node_modules/merge2\": {","isFullCredit":false},{"lineNumber":9323,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":9324,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9325,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9326,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9327,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":9328,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9329,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9330,"author":{"gitId":"-"},"content":" \"node_modules/methods\": {","isFullCredit":false},{"lineNumber":9331,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":9332,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9333,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9334,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9335,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":9336,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9338,"author":{"gitId":"-"},"content":" \"node_modules/micromatch\": {","isFullCredit":false},{"lineNumber":9339,"author":{"gitId":"-"},"content":" \"version\": \"4.0.5\",","isFullCredit":false},{"lineNumber":9340,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9341,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9342,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9343,"author":{"gitId":"-"},"content":" \"braces\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":9344,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.3.1\"","isFullCredit":false},{"lineNumber":9345,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9346,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9347,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":9348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9350,"author":{"gitId":"-"},"content":" \"node_modules/mime\": {","isFullCredit":false},{"lineNumber":9351,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":9352,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9353,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9354,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9355,"author":{"gitId":"-"},"content":" \"mime\": \"cli.js\"","isFullCredit":false},{"lineNumber":9356,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9357,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9358,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9359,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9361,"author":{"gitId":"-"},"content":" \"node_modules/mime-db\": {","isFullCredit":false},{"lineNumber":9362,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\",","isFullCredit":false},{"lineNumber":9363,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9364,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9365,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":9366,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9367,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9368,"author":{"gitId":"-"},"content":" \"node_modules/mime-types\": {","isFullCredit":false},{"lineNumber":9369,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\",","isFullCredit":false},{"lineNumber":9370,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9371,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9372,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\"","isFullCredit":false},{"lineNumber":9373,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9374,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9375,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":9376,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9377,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9378,"author":{"gitId":"-"},"content":" \"node_modules/mimic-fn\": {","isFullCredit":false},{"lineNumber":9379,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":9380,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9381,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9382,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9383,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":9384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9385,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9386,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin\": {","isFullCredit":false},{"lineNumber":9387,"author":{"gitId":"-"},"content":" \"version\": \"2.7.2\",","isFullCredit":false},{"lineNumber":9388,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9389,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9390,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9391,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9392,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9393,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9394,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":9395,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9396,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9397,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":9398,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":9399,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9400,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":9401,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":9402,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9403,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9404,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":9405,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":9406,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9407,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9408,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9409,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":9410,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":9411,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":9412,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":9413,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9414,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9415,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":9416,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":9417,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9418,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9419,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":9420,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":9421,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9422,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9423,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9424,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":9425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9426,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":9427,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":9428,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9429,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9430,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":9431,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":9432,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9433,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9434,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9435,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":9436,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":9437,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9438,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9439,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9440,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":9441,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\",","isFullCredit":false},{"lineNumber":9442,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":9443,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":9444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9445,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9446,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":9447,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9448,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9449,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":9450,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":9451,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9453,"author":{"gitId":"-"},"content":" \"node_modules/minimalistic-assert\": {","isFullCredit":false},{"lineNumber":9454,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":9455,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9456,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":9457,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9458,"author":{"gitId":"-"},"content":" \"node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":9459,"author":{"gitId":"-"},"content":" \"version\": \"9.0.4\",","isFullCredit":false},{"lineNumber":9460,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz\",","isFullCredit":false},{"lineNumber":9461,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw\u003d\u003d\",","isFullCredit":false},{"lineNumber":9462,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9463,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":9464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9465,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9466,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\"","isFullCredit":false},{"lineNumber":9467,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9468,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9469,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":9470,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9471,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9472,"author":{"gitId":"-"},"content":" \"node_modules/minimist\": {","isFullCredit":false},{"lineNumber":9473,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\",","isFullCredit":false},{"lineNumber":9474,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9475,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9476,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9477,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":9478,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9479,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9480,"author":{"gitId":"-"},"content":" \"node_modules/minipass\": {","isFullCredit":false},{"lineNumber":9481,"author":{"gitId":"-"},"content":" \"version\": \"3.3.6\",","isFullCredit":false},{"lineNumber":9482,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9483,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":9484,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9485,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9486,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9487,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9488,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9490,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9491,"author":{"gitId":"-"},"content":" \"node_modules/minipass/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":9492,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":9493,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9494,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":9495,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9496,"author":{"gitId":"-"},"content":" \"node_modules/module-alias\": {","isFullCredit":false},{"lineNumber":9497,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\",","isFullCredit":false},{"lineNumber":9498,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9499,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9500,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9501,"author":{"gitId":"-"},"content":" \"node_modules/mrmime\": {","isFullCredit":false},{"lineNumber":9502,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":9503,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9504,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9505,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9506,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9507,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9508,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9509,"author":{"gitId":"-"},"content":" \"node_modules/ms\": {","isFullCredit":false},{"lineNumber":9510,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":9511,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9512,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9513,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9514,"author":{"gitId":"-"},"content":" \"node_modules/muicss\": {","isFullCredit":false},{"lineNumber":9515,"author":{"gitId":"-"},"content":" \"version\": \"0.10.3\",","isFullCredit":false},{"lineNumber":9516,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9517,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9518,"author":{"gitId":"-"},"content":" \"react-addons-shallow-compare\": \"^15.6.2\"","isFullCredit":false},{"lineNumber":9519,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9520,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":9521,"author":{"gitId":"-"},"content":" \"react\": \"^0.14.0 || ^15.0.0 || ^16.0.0\"","isFullCredit":false},{"lineNumber":9522,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9523,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9524,"author":{"gitId":"-"},"content":" \"node_modules/multicast-dns\": {","isFullCredit":false},{"lineNumber":9525,"author":{"gitId":"-"},"content":" \"version\": \"7.2.5\",","isFullCredit":false},{"lineNumber":9526,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9527,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9528,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9529,"author":{"gitId":"-"},"content":" \"dns-packet\": \"^5.2.2\",","isFullCredit":false},{"lineNumber":9530,"author":{"gitId":"-"},"content":" \"thunky\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":9531,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9532,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9533,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"cli.js\"","isFullCredit":false},{"lineNumber":9534,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9535,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9536,"author":{"gitId":"-"},"content":" \"node_modules/mz\": {","isFullCredit":false},{"lineNumber":9537,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\",","isFullCredit":false},{"lineNumber":9538,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9539,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9540,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9541,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":9542,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":9543,"author":{"gitId":"-"},"content":" \"thenify-all\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":9544,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9545,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9546,"author":{"gitId":"-"},"content":" \"node_modules/nanoid\": {","isFullCredit":false},{"lineNumber":9547,"author":{"gitId":"-"},"content":" \"version\": \"3.3.7\",","isFullCredit":false},{"lineNumber":9548,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":9549,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":9550,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":9551,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":9552,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9553,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":9554,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9555,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9556,"author":{"gitId":"-"},"content":" \"nanoid\": \"bin/nanoid.cjs\"","isFullCredit":false},{"lineNumber":9557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9558,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9559,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || ^13.7 || ^14 || \u003e\u003d15.0.1\"","isFullCredit":false},{"lineNumber":9560,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9561,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9562,"author":{"gitId":"-"},"content":" \"node_modules/natural-compare\": {","isFullCredit":false},{"lineNumber":9563,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":9564,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9565,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9566,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9567,"author":{"gitId":"-"},"content":" \"node_modules/negotiator\": {","isFullCredit":false},{"lineNumber":9568,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\",","isFullCredit":false},{"lineNumber":9569,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9570,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9571,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9572,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":9573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9574,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9575,"author":{"gitId":"-"},"content":" \"node_modules/neo-async\": {","isFullCredit":false},{"lineNumber":9576,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\",","isFullCredit":false},{"lineNumber":9577,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9578,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9579,"author":{"gitId":"-"},"content":" \"node_modules/nice-try\": {","isFullCredit":false},{"lineNumber":9580,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":9581,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9582,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9584,"author":{"gitId":"-"},"content":" \"node_modules/no-case\": {","isFullCredit":false},{"lineNumber":9585,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":9586,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9587,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9588,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9589,"author":{"gitId":"-"},"content":" \"lower-case\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":9590,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":9591,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9592,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9593,"author":{"gitId":"-"},"content":" \"node_modules/node-fetch\": {","isFullCredit":false},{"lineNumber":9594,"author":{"gitId":"-"},"content":" \"version\": \"2.6.8\",","isFullCredit":false},{"lineNumber":9595,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9597,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9598,"author":{"gitId":"-"},"content":" \"whatwg-url\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":9599,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9600,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9601,"author":{"gitId":"-"},"content":" \"node\": \"4.x || \u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":9602,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9603,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":9604,"author":{"gitId":"-"},"content":" \"encoding\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":9605,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9606,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":9607,"author":{"gitId":"-"},"content":" \"encoding\": {","isFullCredit":false},{"lineNumber":9608,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":9609,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9610,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9611,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9612,"author":{"gitId":"-"},"content":" \"node_modules/node-forge\": {","isFullCredit":false},{"lineNumber":9613,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\",","isFullCredit":false},{"lineNumber":9614,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9615,"author":{"gitId":"-"},"content":" \"license\": \"(BSD-3-Clause OR GPL-2.0)\",","isFullCredit":false},{"lineNumber":9616,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9617,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6.13.0\"","isFullCredit":false},{"lineNumber":9618,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9620,"author":{"gitId":"-"},"content":" \"node_modules/node-releases\": {","isFullCredit":false},{"lineNumber":9621,"author":{"gitId":"-"},"content":" \"version\": \"2.0.8\",","isFullCredit":false},{"lineNumber":9622,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9623,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":9624,"author":{"gitId":"-"},"content":" \"node_modules/normalize-path\": {","isFullCredit":false},{"lineNumber":9625,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":9626,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9627,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9628,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9629,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":9630,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9631,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9632,"author":{"gitId":"-"},"content":" \"node_modules/normalize-range\": {","isFullCredit":false},{"lineNumber":9633,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\",","isFullCredit":false},{"lineNumber":9634,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9635,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9636,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9637,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":9638,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9639,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9640,"author":{"gitId":"-"},"content":" \"node_modules/normalize-url\": {","isFullCredit":false},{"lineNumber":9641,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":9642,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9643,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9644,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9645,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9646,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":9647,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9648,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9651,"author":{"gitId":"-"},"content":" \"node_modules/normalize.css\": {","isFullCredit":false},{"lineNumber":9652,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":9653,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9654,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9655,"author":{"gitId":"-"},"content":" \"node_modules/npm-run-path\": {","isFullCredit":false},{"lineNumber":9656,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":9657,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9658,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9659,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9660,"author":{"gitId":"-"},"content":" \"path-key\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":9661,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9662,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9664,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9665,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9666,"author":{"gitId":"-"},"content":" \"node_modules/npm-run-path/node_modules/path-key\": {","isFullCredit":false},{"lineNumber":9667,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":9668,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9669,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9670,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9671,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9672,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9674,"author":{"gitId":"-"},"content":" \"node_modules/nth-check\": {","isFullCredit":false},{"lineNumber":9675,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":9676,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":9677,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9678,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":9679,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9680,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9681,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/nth-check?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":9682,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":9683,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":9684,"author":{"gitId":"-"},"content":" \"node_modules/object-assign\": {","isFullCredit":false},{"lineNumber":9685,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\",","isFullCredit":false},{"lineNumber":9686,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9687,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9688,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":9689,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9690,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9691,"author":{"gitId":"-"},"content":" \"node_modules/object-inspect\": {","isFullCredit":false},{"lineNumber":9692,"author":{"gitId":"-"},"content":" \"version\": \"1.13.1\",","isFullCredit":false},{"lineNumber":9693,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9694,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9695,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9696,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":9697,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9698,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9699,"author":{"gitId":"-"},"content":" \"node_modules/object-keys\": {","isFullCredit":false},{"lineNumber":9700,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":9701,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9702,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9703,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9704,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":9705,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9706,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9707,"author":{"gitId":"-"},"content":" \"node_modules/object.assign\": {","isFullCredit":false},{"lineNumber":9708,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\",","isFullCredit":false},{"lineNumber":9709,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9710,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9711,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9712,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":9713,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":9714,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":9715,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\"","isFullCredit":false},{"lineNumber":9716,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9717,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9718,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":9719,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9720,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9721,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":9722,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9723,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9724,"author":{"gitId":"-"},"content":" \"node_modules/object.entries\": {","isFullCredit":false},{"lineNumber":9725,"author":{"gitId":"-"},"content":" \"version\": \"1.1.6\",","isFullCredit":false},{"lineNumber":9726,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9727,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9728,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9729,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":9730,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":9731,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.20.4\"","isFullCredit":false},{"lineNumber":9732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9733,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9734,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":9735,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9736,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9737,"author":{"gitId":"-"},"content":" \"node_modules/object.fromentries\": {","isFullCredit":false},{"lineNumber":9738,"author":{"gitId":"-"},"content":" \"version\": \"2.0.7\",","isFullCredit":false},{"lineNumber":9739,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9740,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9741,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9742,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":9743,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":9744,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":9745,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9746,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9747,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":9748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9749,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9750,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":9751,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9752,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9753,"author":{"gitId":"-"},"content":" \"node_modules/object.groupby\": {","isFullCredit":false},{"lineNumber":9754,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":9755,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9756,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9757,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9758,"author":{"gitId":"-"},"content":" \"array.prototype.filter\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":9759,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":9760,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":9761,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.3\",","isFullCredit":false},{"lineNumber":9762,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":9763,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":9764,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":9765,"author":{"gitId":"-"},"content":" \"node_modules/object.values\": {","isFullCredit":false},{"lineNumber":9766,"author":{"gitId":"-"},"content":" \"version\": \"1.1.7\",","isFullCredit":false},{"lineNumber":9767,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9768,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9769,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9770,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":9771,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":9772,"author":{"gitId":"-"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":9773,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9774,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9775,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":9776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9777,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9778,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":9779,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9780,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9781,"author":{"gitId":"-"},"content":" \"node_modules/obuf\": {","isFullCredit":false},{"lineNumber":9782,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":9783,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9784,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9785,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9786,"author":{"gitId":"-"},"content":" \"node_modules/on-finished\": {","isFullCredit":false},{"lineNumber":9787,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":9788,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9789,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9790,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9791,"author":{"gitId":"-"},"content":" \"ee-first\": \"1.1.1\"","isFullCredit":false},{"lineNumber":9792,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9793,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9794,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":9795,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9797,"author":{"gitId":"-"},"content":" \"node_modules/on-headers\": {","isFullCredit":false},{"lineNumber":9798,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":9799,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9800,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9801,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9802,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":9803,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9804,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9805,"author":{"gitId":"-"},"content":" \"node_modules/once\": {","isFullCredit":false},{"lineNumber":9806,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\",","isFullCredit":false},{"lineNumber":9807,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":9808,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9809,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\"","isFullCredit":false},{"lineNumber":9810,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9811,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9812,"author":{"gitId":"-"},"content":" \"node_modules/onetime\": {","isFullCredit":false},{"lineNumber":9813,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":9814,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9815,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9816,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9817,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":9818,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9819,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9820,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":9821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9822,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9823,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9824,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9825,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9826,"author":{"gitId":"-"},"content":" \"node_modules/open\": {","isFullCredit":false},{"lineNumber":9827,"author":{"gitId":"-"},"content":" \"version\": \"8.4.0\",","isFullCredit":false},{"lineNumber":9828,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9829,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9830,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9831,"author":{"gitId":"-"},"content":" \"define-lazy-prop\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":9832,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":9833,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":9834,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9835,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9836,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":9837,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9838,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9839,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9840,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9841,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9842,"author":{"gitId":"-"},"content":" \"node_modules/opener\": {","isFullCredit":false},{"lineNumber":9843,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\",","isFullCredit":false},{"lineNumber":9844,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9845,"author":{"gitId":"-"},"content":" \"license\": \"(WTFPL OR MIT)\",","isFullCredit":false},{"lineNumber":9846,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":9847,"author":{"gitId":"-"},"content":" \"opener\": \"bin/opener-bin.js\"","isFullCredit":false},{"lineNumber":9848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9850,"author":{"gitId":"-"},"content":" \"node_modules/optionator\": {","isFullCredit":false},{"lineNumber":9851,"author":{"gitId":"-"},"content":" \"version\": \"0.9.3\",","isFullCredit":false},{"lineNumber":9852,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9854,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9855,"author":{"gitId":"-"},"content":" \"@aashutoshrathi/word-wrap\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":9856,"author":{"gitId":"-"},"content":" \"deep-is\": \"^0.1.3\",","isFullCredit":false},{"lineNumber":9857,"author":{"gitId":"-"},"content":" \"fast-levenshtein\": \"^2.0.6\",","isFullCredit":false},{"lineNumber":9858,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":9859,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":9860,"author":{"gitId":"-"},"content":" \"type-check\": \"^0.4.0\"","isFullCredit":false},{"lineNumber":9861,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9862,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9863,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":9864,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9865,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9866,"author":{"gitId":"-"},"content":" \"node_modules/ora\": {","isFullCredit":false},{"lineNumber":9867,"author":{"gitId":"-"},"content":" \"version\": \"5.4.1\",","isFullCredit":false},{"lineNumber":9868,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9869,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9870,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9871,"author":{"gitId":"-"},"content":" \"bl\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9872,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9873,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":9874,"author":{"gitId":"-"},"content":" \"cli-spinners\": \"^2.5.0\",","isFullCredit":false},{"lineNumber":9875,"author":{"gitId":"-"},"content":" \"is-interactive\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":9876,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\",","isFullCredit":false},{"lineNumber":9877,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9878,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":9879,"author":{"gitId":"-"},"content":" \"wcwidth\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":9880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9881,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9882,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9883,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9884,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9885,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9886,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9887,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9888,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":9889,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":9890,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9891,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9892,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9893,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":9894,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9895,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9896,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9897,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9898,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9899,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":9900,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9901,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9902,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":9903,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":9904,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9905,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9906,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9907,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":9908,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":9909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9910,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9911,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9912,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9913,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9914,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":9915,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9916,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9917,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":9918,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":9919,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9920,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9921,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9922,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":9923,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9924,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9925,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":9926,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9927,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9928,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":9929,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":9930,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9931,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":9932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9933,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":9934,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":9935,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9936,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9937,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9938,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9939,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9940,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9941,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":9942,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":9943,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9944,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9945,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9946,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":9947,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9948,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9950,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9951,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9952,"author":{"gitId":"-"},"content":" \"node_modules/p-finally\": {","isFullCredit":false},{"lineNumber":9953,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":9954,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9956,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9957,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":9958,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9959,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9960,"author":{"gitId":"-"},"content":" \"node_modules/p-limit\": {","isFullCredit":false},{"lineNumber":9961,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":9962,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9964,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9965,"author":{"gitId":"-"},"content":" \"yocto-queue\": \"^0.1.0\"","isFullCredit":false},{"lineNumber":9966,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9967,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9968,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9969,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9970,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9971,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9972,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9974,"author":{"gitId":"-"},"content":" \"node_modules/p-locate\": {","isFullCredit":false},{"lineNumber":9975,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":9976,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9977,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9978,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9979,"author":{"gitId":"-"},"content":" \"p-limit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":9980,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9981,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9982,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":9983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9984,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":9985,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":9986,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9987,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9988,"author":{"gitId":"-"},"content":" \"node_modules/p-retry\": {","isFullCredit":false},{"lineNumber":9989,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\",","isFullCredit":false},{"lineNumber":9990,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":9991,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":9992,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":9993,"author":{"gitId":"-"},"content":" \"@types/retry\": \"0.12.0\",","isFullCredit":false},{"lineNumber":9994,"author":{"gitId":"-"},"content":" \"retry\": \"^0.13.1\"","isFullCredit":false},{"lineNumber":9995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":9996,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":9997,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":9998,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9999,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10000,"author":{"gitId":"-"},"content":" \"node_modules/p-retry/node_modules/retry\": {","isFullCredit":false},{"lineNumber":10001,"author":{"gitId":"-"},"content":" \"version\": \"0.13.1\",","isFullCredit":false},{"lineNumber":10002,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10003,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10004,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10005,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":10006,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10008,"author":{"gitId":"-"},"content":" \"node_modules/p-try\": {","isFullCredit":false},{"lineNumber":10009,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":10010,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10011,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10012,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10013,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":10014,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10015,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10016,"author":{"gitId":"-"},"content":" \"node_modules/pako\": {","isFullCredit":false},{"lineNumber":10017,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\",","isFullCredit":false},{"lineNumber":10018,"author":{"gitId":"-"},"content":" \"license\": \"(MIT AND Zlib)\"","isFullCredit":false},{"lineNumber":10019,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10020,"author":{"gitId":"-"},"content":" \"node_modules/param-case\": {","isFullCredit":false},{"lineNumber":10021,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":10022,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10023,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10024,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10025,"author":{"gitId":"-"},"content":" \"dot-case\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":10026,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":10027,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10028,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10029,"author":{"gitId":"-"},"content":" \"node_modules/parent-module\": {","isFullCredit":false},{"lineNumber":10030,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":10031,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10032,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10033,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10034,"author":{"gitId":"-"},"content":" \"callsites\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":10035,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10036,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10037,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":10038,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10039,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10040,"author":{"gitId":"-"},"content":" \"node_modules/parse-json\": {","isFullCredit":false},{"lineNumber":10041,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":10042,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10043,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10044,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10045,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":10046,"author":{"gitId":"-"},"content":" \"error-ex\": \"^1.3.1\",","isFullCredit":false},{"lineNumber":10047,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.0\",","isFullCredit":false},{"lineNumber":10048,"author":{"gitId":"-"},"content":" \"lines-and-columns\": \"^1.1.6\"","isFullCredit":false},{"lineNumber":10049,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10050,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10051,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10052,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10053,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10054,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":10055,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10056,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10057,"author":{"gitId":"-"},"content":" \"node_modules/parse5\": {","isFullCredit":false},{"lineNumber":10058,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10059,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10060,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10061,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10062,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter\": {","isFullCredit":false},{"lineNumber":10063,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":10064,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10066,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10067,"author":{"gitId":"-"},"content":" \"parse5\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":10068,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10069,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10070,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5\": {","isFullCredit":false},{"lineNumber":10071,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":10072,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10073,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10074,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10075,"author":{"gitId":"-"},"content":" \"node_modules/parseurl\": {","isFullCredit":false},{"lineNumber":10076,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\",","isFullCredit":false},{"lineNumber":10077,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10078,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10079,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10080,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":10081,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10082,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10083,"author":{"gitId":"-"},"content":" \"node_modules/pascal-case\": {","isFullCredit":false},{"lineNumber":10084,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":10085,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10086,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10087,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10088,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\",","isFullCredit":false},{"lineNumber":10089,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\"","isFullCredit":false},{"lineNumber":10090,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10091,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10092,"author":{"gitId":"-"},"content":" \"node_modules/path-exists\": {","isFullCredit":false},{"lineNumber":10093,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10094,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10095,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10096,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10097,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10098,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10099,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10100,"author":{"gitId":"-"},"content":" \"node_modules/path-is-absolute\": {","isFullCredit":false},{"lineNumber":10101,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":10102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10103,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10104,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":10105,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10106,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10107,"author":{"gitId":"-"},"content":" \"node_modules/path-key\": {","isFullCredit":false},{"lineNumber":10108,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":10109,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10110,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10111,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10112,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10115,"author":{"gitId":"-"},"content":" \"node_modules/path-parse\": {","isFullCredit":false},{"lineNumber":10116,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":10117,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10118,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10119,"author":{"gitId":"-"},"content":" \"node_modules/path-to-regexp\": {","isFullCredit":false},{"lineNumber":10120,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\",","isFullCredit":false},{"lineNumber":10121,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10122,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10123,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10124,"author":{"gitId":"-"},"content":" \"node_modules/path-type\": {","isFullCredit":false},{"lineNumber":10125,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10126,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10127,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10128,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10129,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10131,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10132,"author":{"gitId":"-"},"content":" \"node_modules/picocolors\": {","isFullCredit":false},{"lineNumber":10133,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":10134,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":10135,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10136,"author":{"gitId":"-"},"content":" \"node_modules/picomatch\": {","isFullCredit":false},{"lineNumber":10137,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":10138,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10139,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10140,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10141,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\"","isFullCredit":false},{"lineNumber":10142,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10143,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10144,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\"","isFullCredit":false},{"lineNumber":10145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10147,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir\": {","isFullCredit":false},{"lineNumber":10148,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":10149,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10150,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10151,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10152,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":10153,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10154,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10155,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10156,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10157,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10158,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/find-up\": {","isFullCredit":false},{"lineNumber":10159,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":10160,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10161,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10162,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10163,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":10164,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":10165,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10166,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10167,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10168,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10169,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10170,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/locate-path\": {","isFullCredit":false},{"lineNumber":10171,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":10172,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10173,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10174,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10175,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":10176,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10177,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10178,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10180,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10181,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-limit\": {","isFullCredit":false},{"lineNumber":10182,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":10183,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10184,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10185,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10186,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":10187,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10188,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10189,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":10190,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10191,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10192,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":10193,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10194,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10195,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-locate\": {","isFullCredit":false},{"lineNumber":10196,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":10197,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10198,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10199,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10200,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":10201,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10202,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10203,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":10204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10205,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10206,"author":{"gitId":"-"},"content":" \"node_modules/portfinder\": {","isFullCredit":false},{"lineNumber":10207,"author":{"gitId":"-"},"content":" \"version\": \"1.0.32\",","isFullCredit":false},{"lineNumber":10208,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10209,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10210,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10211,"author":{"gitId":"-"},"content":" \"async\": \"^2.6.4\",","isFullCredit":false},{"lineNumber":10212,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\",","isFullCredit":false},{"lineNumber":10213,"author":{"gitId":"-"},"content":" \"mkdirp\": \"^0.5.6\"","isFullCredit":false},{"lineNumber":10214,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10215,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10216,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.12.0\"","isFullCredit":false},{"lineNumber":10217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10218,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10219,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/debug\": {","isFullCredit":false},{"lineNumber":10220,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\",","isFullCredit":false},{"lineNumber":10221,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10222,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10223,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10224,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\"","isFullCredit":false},{"lineNumber":10225,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10226,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10227,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/mkdirp\": {","isFullCredit":false},{"lineNumber":10228,"author":{"gitId":"-"},"content":" \"version\": \"0.5.6\",","isFullCredit":false},{"lineNumber":10229,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10230,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10231,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10232,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\"","isFullCredit":false},{"lineNumber":10233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10234,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":10235,"author":{"gitId":"-"},"content":" \"mkdirp\": \"bin/cmd.js\"","isFullCredit":false},{"lineNumber":10236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10237,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10238,"author":{"gitId":"-"},"content":" \"node_modules/possible-typed-array-names\": {","isFullCredit":false},{"lineNumber":10239,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":10240,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10241,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10242,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10243,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":10244,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10245,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10246,"author":{"gitId":"-"},"content":" \"node_modules/postcss\": {","isFullCredit":false},{"lineNumber":10247,"author":{"gitId":"-"},"content":" \"version\": \"8.4.38\",","isFullCredit":false},{"lineNumber":10248,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":10249,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10250,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":10251,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":10252,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10253,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10254,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":10255,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss\"","isFullCredit":false},{"lineNumber":10256,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10257,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10258,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":10259,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":10260,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10261,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":10262,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10263,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10264,"author":{"gitId":"-"},"content":" \"nanoid\": \"^3.3.7\",","isFullCredit":false},{"lineNumber":10265,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":10266,"author":{"gitId":"-"},"content":" \"source-map-js\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":10267,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10268,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10269,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":10270,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10271,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10272,"author":{"gitId":"-"},"content":" \"node_modules/postcss-calc\": {","isFullCredit":false},{"lineNumber":10273,"author":{"gitId":"-"},"content":" \"version\": \"8.2.4\",","isFullCredit":false},{"lineNumber":10274,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10275,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10276,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10277,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.9\",","isFullCredit":false},{"lineNumber":10278,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10279,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10280,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10281,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.2\"","isFullCredit":false},{"lineNumber":10282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10284,"author":{"gitId":"-"},"content":" \"node_modules/postcss-colormin\": {","isFullCredit":false},{"lineNumber":10285,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":10286,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10287,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10288,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10289,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.6\",","isFullCredit":false},{"lineNumber":10290,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":10291,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\",","isFullCredit":false},{"lineNumber":10292,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10293,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10294,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10295,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10296,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10297,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10298,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10299,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10301,"author":{"gitId":"-"},"content":" \"node_modules/postcss-convert-values\": {","isFullCredit":false},{"lineNumber":10302,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\",","isFullCredit":false},{"lineNumber":10303,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10305,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10306,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":10307,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10308,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10309,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10310,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10311,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10312,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10313,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10314,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10315,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10316,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-comments\": {","isFullCredit":false},{"lineNumber":10317,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":10318,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10319,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10320,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10321,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10322,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10323,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10324,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10325,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10326,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10327,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-duplicates\": {","isFullCredit":false},{"lineNumber":10328,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10329,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10330,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10331,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10332,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10333,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10334,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10335,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10336,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10338,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-empty\": {","isFullCredit":false},{"lineNumber":10339,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10340,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10341,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10342,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10343,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10344,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10345,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10346,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10347,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10348,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10349,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-overridden\": {","isFullCredit":false},{"lineNumber":10350,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10351,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10352,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10353,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10354,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10355,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10356,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10357,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10358,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10359,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10360,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html\": {","isFullCredit":false},{"lineNumber":10361,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":10362,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10364,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10365,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":10366,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":10367,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.0\",","isFullCredit":false},{"lineNumber":10368,"author":{"gitId":"-"},"content":" \"postcss-safe-parser\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":10369,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10370,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10371,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":10372,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10373,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10374,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html/node_modules/js-tokens\": {","isFullCredit":false},{"lineNumber":10375,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":10376,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10377,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10378,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10379,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader\": {","isFullCredit":false},{"lineNumber":10380,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":10381,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10382,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10383,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10384,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":10385,"author":{"gitId":"-"},"content":" \"klona\": \"^2.0.5\",","isFullCredit":false},{"lineNumber":10386,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\"","isFullCredit":false},{"lineNumber":10387,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10388,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10389,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":10390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10391,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10392,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":10393,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":10394,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10395,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10396,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.0 || ^8.0.1\",","isFullCredit":false},{"lineNumber":10397,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":10398,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10399,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10400,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/cosmiconfig\": {","isFullCredit":false},{"lineNumber":10401,"author":{"gitId":"-"},"content":" \"version\": \"7.1.0\",","isFullCredit":false},{"lineNumber":10402,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10403,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10404,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10405,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":10406,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":10407,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":10408,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":10409,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.0\"","isFullCredit":false},{"lineNumber":10410,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10411,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10412,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":10413,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10415,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":10416,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":10417,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10418,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":10419,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10420,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":10421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10422,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10423,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":10424,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10425,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10426,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/semver\": {","isFullCredit":false},{"lineNumber":10427,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":10428,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10429,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":10430,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10431,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":10432,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10433,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":10434,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":10435,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10436,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10437,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":10438,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10439,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10440,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":10441,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10442,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10443,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":10444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10445,"author":{"gitId":"-"},"content":" \"node_modules/postcss-media-query-parser\": {","isFullCredit":false},{"lineNumber":10446,"author":{"gitId":"-"},"content":" \"version\": \"0.2.3\",","isFullCredit":false},{"lineNumber":10447,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz\",","isFullCredit":false},{"lineNumber":10448,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig\u003d\u003d\",","isFullCredit":false},{"lineNumber":10449,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":10450,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10451,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-longhand\": {","isFullCredit":false},{"lineNumber":10452,"author":{"gitId":"-"},"content":" \"version\": \"5.1.7\",","isFullCredit":false},{"lineNumber":10453,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10454,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10455,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10456,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":10457,"author":{"gitId":"-"},"content":" \"stylehacks\": \"^5.1.1\"","isFullCredit":false},{"lineNumber":10458,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10459,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10460,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10461,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10462,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10463,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10464,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10465,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10466,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-rules\": {","isFullCredit":false},{"lineNumber":10467,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\",","isFullCredit":false},{"lineNumber":10468,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10470,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10471,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":10472,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":10473,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":10474,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\"","isFullCredit":false},{"lineNumber":10475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10476,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10477,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10479,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10480,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10482,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10483,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-font-values\": {","isFullCredit":false},{"lineNumber":10484,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10485,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10486,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10487,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10488,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10489,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10490,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10491,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10492,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10493,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10494,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10495,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10496,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10497,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-gradients\": {","isFullCredit":false},{"lineNumber":10498,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10499,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10500,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10501,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10502,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\",","isFullCredit":false},{"lineNumber":10503,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":10504,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10505,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10506,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10507,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10508,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10509,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10510,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10511,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10512,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10513,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-params\": {","isFullCredit":false},{"lineNumber":10514,"author":{"gitId":"-"},"content":" \"version\": \"5.1.4\",","isFullCredit":false},{"lineNumber":10515,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10516,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10517,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10518,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":10519,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":10520,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10521,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10522,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10523,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10524,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10525,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10526,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10527,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10528,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10529,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-selectors\": {","isFullCredit":false},{"lineNumber":10530,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\",","isFullCredit":false},{"lineNumber":10531,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10532,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10533,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10534,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\"","isFullCredit":false},{"lineNumber":10535,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10536,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10537,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10539,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10540,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10541,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10542,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10543,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-extract-imports\": {","isFullCredit":false},{"lineNumber":10544,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":10545,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10546,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":10547,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10548,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\"","isFullCredit":false},{"lineNumber":10549,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10550,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10551,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":10552,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10554,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-local-by-default\": {","isFullCredit":false},{"lineNumber":10555,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10556,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10557,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10558,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10559,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":10560,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\",","isFullCredit":false},{"lineNumber":10561,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":10562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10563,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10564,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\"","isFullCredit":false},{"lineNumber":10565,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10566,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10567,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":10568,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10569,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10570,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-scope\": {","isFullCredit":false},{"lineNumber":10571,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":10572,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10573,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":10574,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10575,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\"","isFullCredit":false},{"lineNumber":10576,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10577,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10578,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\"","isFullCredit":false},{"lineNumber":10579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10580,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10581,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":10582,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10583,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10584,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-values\": {","isFullCredit":false},{"lineNumber":10585,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10586,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10587,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":10588,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10589,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":10590,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10591,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10592,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\"","isFullCredit":false},{"lineNumber":10593,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10594,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10595,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\"","isFullCredit":false},{"lineNumber":10596,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10597,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10598,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-charset\": {","isFullCredit":false},{"lineNumber":10599,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10600,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10601,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10602,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10603,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10605,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10606,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10607,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10608,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10609,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-display-values\": {","isFullCredit":false},{"lineNumber":10610,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10611,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10612,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10613,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10614,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10615,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10616,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10617,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10619,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10620,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10621,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10622,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10623,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-positions\": {","isFullCredit":false},{"lineNumber":10624,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10625,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10626,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10627,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10628,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10630,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10631,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10632,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10633,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10634,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10635,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10636,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10637,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-repeat-style\": {","isFullCredit":false},{"lineNumber":10638,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10639,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10640,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10641,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10642,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10643,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10644,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10645,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10647,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10648,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10650,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10651,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-string\": {","isFullCredit":false},{"lineNumber":10652,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10653,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10654,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10655,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10656,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10657,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10658,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10659,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10661,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10662,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10663,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10665,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-timing-functions\": {","isFullCredit":false},{"lineNumber":10666,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10667,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10669,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10670,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10671,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10672,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10673,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10674,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10675,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10676,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10677,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10678,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10679,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-unicode\": {","isFullCredit":false},{"lineNumber":10680,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10681,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10682,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10683,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10684,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":10685,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10686,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10687,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10688,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10689,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10690,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10691,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10692,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10693,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10694,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-url\": {","isFullCredit":false},{"lineNumber":10695,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10696,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10697,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10698,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10699,"author":{"gitId":"-"},"content":" \"normalize-url\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":10700,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10701,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10702,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10703,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10705,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10706,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10707,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10708,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10709,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-whitespace\": {","isFullCredit":false},{"lineNumber":10710,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10711,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10712,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10713,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10714,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10715,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10716,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10717,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10718,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10719,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10720,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10721,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10722,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10723,"author":{"gitId":"-"},"content":" \"node_modules/postcss-ordered-values\": {","isFullCredit":false},{"lineNumber":10724,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\",","isFullCredit":false},{"lineNumber":10725,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10726,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10727,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10728,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":10729,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10730,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10731,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10732,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10733,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10734,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10735,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10736,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10737,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10738,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-initial\": {","isFullCredit":false},{"lineNumber":10739,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10740,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10741,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10742,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10743,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":10744,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":10745,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10746,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10747,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10748,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10749,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10750,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10751,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10752,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10753,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-transforms\": {","isFullCredit":false},{"lineNumber":10754,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10755,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10756,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10757,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10758,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":10759,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10760,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10761,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10762,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10763,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10764,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10765,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10766,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10767,"author":{"gitId":"-"},"content":" \"node_modules/postcss-resolve-nested-selector\": {","isFullCredit":false},{"lineNumber":10768,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\",","isFullCredit":false},{"lineNumber":10769,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10770,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10771,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10772,"author":{"gitId":"-"},"content":" \"node_modules/postcss-safe-parser\": {","isFullCredit":false},{"lineNumber":10773,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":10774,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10776,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10777,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\"","isFullCredit":false},{"lineNumber":10778,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10779,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10780,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":10781,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":10782,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10783,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10784,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.3\"","isFullCredit":false},{"lineNumber":10785,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10786,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10787,"author":{"gitId":"-"},"content":" \"node_modules/postcss-scss\": {","isFullCredit":false},{"lineNumber":10788,"author":{"gitId":"-"},"content":" \"version\": \"4.0.9\",","isFullCredit":false},{"lineNumber":10789,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz\",","isFullCredit":false},{"lineNumber":10790,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A\u003d\u003d\",","isFullCredit":false},{"lineNumber":10791,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10792,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":10793,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10794,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":10795,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":10796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10797,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10798,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":10799,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-scss\"","isFullCredit":false},{"lineNumber":10800,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10801,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":10802,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":10803,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":10804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10805,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":10806,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10807,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\"","isFullCredit":false},{"lineNumber":10808,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10809,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10810,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.29\"","isFullCredit":false},{"lineNumber":10811,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10813,"author":{"gitId":"-"},"content":" \"node_modules/postcss-selector-parser\": {","isFullCredit":false},{"lineNumber":10814,"author":{"gitId":"-"},"content":" \"version\": \"6.0.16\",","isFullCredit":false},{"lineNumber":10815,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz\",","isFullCredit":false},{"lineNumber":10816,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw\u003d\u003d\",","isFullCredit":false},{"lineNumber":10817,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10818,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10819,"author":{"gitId":"-"},"content":" \"cssesc\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":10820,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":10821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10822,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10823,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":10824,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10825,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10826,"author":{"gitId":"-"},"content":" \"node_modules/postcss-sorting\": {","isFullCredit":false},{"lineNumber":10827,"author":{"gitId":"-"},"content":" \"version\": \"8.0.2\",","isFullCredit":false},{"lineNumber":10828,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz\",","isFullCredit":false},{"lineNumber":10829,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":10830,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10831,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10832,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.20\"","isFullCredit":false},{"lineNumber":10833,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10834,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10835,"author":{"gitId":"-"},"content":" \"node_modules/postcss-svgo\": {","isFullCredit":false},{"lineNumber":10836,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":10837,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10838,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10839,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10840,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":10841,"author":{"gitId":"-"},"content":" \"svgo\": \"^2.7.0\"","isFullCredit":false},{"lineNumber":10842,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10843,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10844,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10846,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10847,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10848,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10850,"author":{"gitId":"-"},"content":" \"node_modules/postcss-unique-selectors\": {","isFullCredit":false},{"lineNumber":10851,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":10852,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10854,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10855,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\"","isFullCredit":false},{"lineNumber":10856,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10857,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10858,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":10859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10860,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10861,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":10862,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10863,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10864,"author":{"gitId":"-"},"content":" \"node_modules/postcss-value-parser\": {","isFullCredit":false},{"lineNumber":10865,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":10866,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10867,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10868,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10869,"author":{"gitId":"-"},"content":" \"node_modules/prelude-ls\": {","isFullCredit":false},{"lineNumber":10870,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":10871,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10872,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10873,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10874,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":10875,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10876,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10877,"author":{"gitId":"-"},"content":" \"node_modules/prettier\": {","isFullCredit":false},{"lineNumber":10878,"author":{"gitId":"-"},"content":" \"version\": \"2.8.3\",","isFullCredit":false},{"lineNumber":10879,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10880,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10881,"author":{"gitId":"-"},"content":" \"optional\": true,","isFullCredit":false},{"lineNumber":10882,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":10883,"author":{"gitId":"-"},"content":" \"prettier\": \"bin-prettier.js\"","isFullCredit":false},{"lineNumber":10884,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10885,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10886,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":10887,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10888,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":10889,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/prettier/prettier?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":10890,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10892,"author":{"gitId":"-"},"content":" \"node_modules/pretty-error\": {","isFullCredit":false},{"lineNumber":10893,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":10894,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10895,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10896,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10897,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\",","isFullCredit":false},{"lineNumber":10898,"author":{"gitId":"-"},"content":" \"renderkid\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":10899,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10900,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10901,"author":{"gitId":"-"},"content":" \"node_modules/process-nextick-args\": {","isFullCredit":false},{"lineNumber":10902,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":10903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":10904,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10905,"author":{"gitId":"-"},"content":" \"node_modules/progress-webpack-plugin\": {","isFullCredit":false},{"lineNumber":10906,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\",","isFullCredit":false},{"lineNumber":10907,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10909,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10910,"author":{"gitId":"-"},"content":" \"chalk\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":10911,"author":{"gitId":"-"},"content":" \"figures\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":10912,"author":{"gitId":"-"},"content":" \"log-update\": \"^2.3.0\"","isFullCredit":false},{"lineNumber":10913,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10914,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":10916,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10917,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":10918,"author":{"gitId":"-"},"content":" \"webpack\": \"^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":10919,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10920,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10921,"author":{"gitId":"-"},"content":" \"node_modules/promise\": {","isFullCredit":false},{"lineNumber":10922,"author":{"gitId":"-"},"content":" \"version\": \"7.3.1\",","isFullCredit":false},{"lineNumber":10923,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10924,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10925,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10926,"author":{"gitId":"-"},"content":" \"asap\": \"~2.0.3\"","isFullCredit":false},{"lineNumber":10927,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10928,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10929,"author":{"gitId":"-"},"content":" \"node_modules/prop-types\": {","isFullCredit":false},{"lineNumber":10930,"author":{"gitId":"-"},"content":" \"version\": \"15.8.1\",","isFullCredit":false},{"lineNumber":10931,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10932,"author":{"gitId":"-"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":10933,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10934,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":10935,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":10936,"author":{"gitId":"-"},"content":" \"react-is\": \"^16.13.1\"","isFullCredit":false},{"lineNumber":10937,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10938,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10939,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr\": {","isFullCredit":false},{"lineNumber":10940,"author":{"gitId":"-"},"content":" \"version\": \"2.0.7\",","isFullCredit":false},{"lineNumber":10941,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10942,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10943,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10944,"author":{"gitId":"-"},"content":" \"forwarded\": \"0.2.0\",","isFullCredit":false},{"lineNumber":10945,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"1.9.1\"","isFullCredit":false},{"lineNumber":10946,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10947,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10948,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\"","isFullCredit":false},{"lineNumber":10949,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10951,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr/node_modules/ipaddr.js\": {","isFullCredit":false},{"lineNumber":10952,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\",","isFullCredit":false},{"lineNumber":10953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10954,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10955,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":10956,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\"","isFullCredit":false},{"lineNumber":10957,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10958,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10959,"author":{"gitId":"-"},"content":" \"node_modules/pseudomap\": {","isFullCredit":false},{"lineNumber":10960,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":10961,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10962,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":10963,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10964,"author":{"gitId":"-"},"content":" \"node_modules/pug\": {","isFullCredit":false},{"lineNumber":10965,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":10966,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10967,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10968,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10969,"author":{"gitId":"-"},"content":" \"pug-code-gen\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":10970,"author":{"gitId":"-"},"content":" \"pug-filters\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":10971,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^5.0.1\",","isFullCredit":false},{"lineNumber":10972,"author":{"gitId":"-"},"content":" \"pug-linker\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":10973,"author":{"gitId":"-"},"content":" \"pug-load\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":10974,"author":{"gitId":"-"},"content":" \"pug-parser\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":10975,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":10976,"author":{"gitId":"-"},"content":" \"pug-strip-comments\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":10977,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10978,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10979,"author":{"gitId":"-"},"content":" \"node_modules/pug-attrs\": {","isFullCredit":false},{"lineNumber":10980,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":10981,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10982,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10983,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10984,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":10985,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":10986,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":10987,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10988,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":10989,"author":{"gitId":"-"},"content":" \"node_modules/pug-code-gen\": {","isFullCredit":false},{"lineNumber":10990,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":10991,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":10992,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":10993,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":10994,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":10995,"author":{"gitId":"-"},"content":" \"doctypes\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":10996,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":10997,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":10998,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":10999,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":11000,"author":{"gitId":"-"},"content":" \"void-elements\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":11001,"author":{"gitId":"-"},"content":" \"with\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":11002,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11003,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11004,"author":{"gitId":"-"},"content":" \"node_modules/pug-error\": {","isFullCredit":false},{"lineNumber":11005,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":11006,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11007,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11008,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11009,"author":{"gitId":"-"},"content":" \"node_modules/pug-filters\": {","isFullCredit":false},{"lineNumber":11010,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":11011,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11012,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11013,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11014,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":11015,"author":{"gitId":"-"},"content":" \"jstransformer\": \"1.0.0\",","isFullCredit":false},{"lineNumber":11016,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11017,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11018,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.15.1\"","isFullCredit":false},{"lineNumber":11019,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11020,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11021,"author":{"gitId":"-"},"content":" \"node_modules/pug-lexer\": {","isFullCredit":false},{"lineNumber":11022,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":11023,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11024,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11025,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11026,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":11027,"author":{"gitId":"-"},"content":" \"is-expression\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11028,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11029,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11030,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11031,"author":{"gitId":"-"},"content":" \"node_modules/pug-linker\": {","isFullCredit":false},{"lineNumber":11032,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":11033,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11034,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11035,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11036,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11037,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11038,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11039,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11040,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint\": {","isFullCredit":false},{"lineNumber":11041,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\",","isFullCredit":false},{"lineNumber":11042,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11043,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11044,"author":{"gitId":"-"},"content":" \"acorn\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":11045,"author":{"gitId":"-"},"content":" \"commander\": \"^2.9.0\",","isFullCredit":false},{"lineNumber":11046,"author":{"gitId":"-"},"content":" \"css-selector-parser\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":11047,"author":{"gitId":"-"},"content":" \"find-line-column\": \"^0.5.2\",","isFullCredit":false},{"lineNumber":11048,"author":{"gitId":"-"},"content":" \"glob\": \"^7.0.3\",","isFullCredit":false},{"lineNumber":11049,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.3\",","isFullCredit":false},{"lineNumber":11050,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":11051,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":11052,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.2\",","isFullCredit":false},{"lineNumber":11053,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11054,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.1.7\",","isFullCredit":false},{"lineNumber":11055,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":11056,"author":{"gitId":"-"},"content":" \"void-elements\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":11057,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11058,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11059,"author":{"gitId":"-"},"content":" \"pug-lint\": \"bin/pug-lint\"","isFullCredit":false},{"lineNumber":11060,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11061,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11062,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue\": {","isFullCredit":false},{"lineNumber":11063,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":11064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11065,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11066,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11067,"author":{"gitId":"-"},"content":" \"cheerio\": \"^1.0.0-rc.3\",","isFullCredit":false},{"lineNumber":11068,"author":{"gitId":"-"},"content":" \"commander\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":11069,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11070,"author":{"gitId":"-"},"content":" \"pug-lint\": \"^2.6.0\",","isFullCredit":false},{"lineNumber":11071,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":11072,"author":{"gitId":"-"},"content":" \"walk\": \"^2.3.14\"","isFullCredit":false},{"lineNumber":11073,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11074,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11075,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"bin/pug-lint-vue\"","isFullCredit":false},{"lineNumber":11076,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11077,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11078,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":11079,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":11080,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11081,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11082,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":11083,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11084,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11085,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11086,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11087,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11088,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11089,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11090,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11091,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":11092,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":11093,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11094,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11095,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":11096,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":11097,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11098,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11099,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":11100,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11101,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11102,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11104,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11105,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":11106,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":11107,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11108,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11109,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":11110,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11111,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11112,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":11113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11115,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":11116,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":11117,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11118,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11119,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/commander\": {","isFullCredit":false},{"lineNumber":11120,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":11121,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11122,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11123,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":11124,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11125,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11126,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":11127,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":11128,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11129,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11130,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":11131,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":11132,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11133,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11134,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11135,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11136,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11137,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11138,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":11139,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":11140,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11141,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11142,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":11143,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11144,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11145,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":11146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11147,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11148,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11150,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11151,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":11152,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\",","isFullCredit":false},{"lineNumber":11153,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11154,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11155,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":11156,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11157,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11158,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":11159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11160,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11161,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11164,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils\": {","isFullCredit":false},{"lineNumber":11165,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\",","isFullCredit":false},{"lineNumber":11166,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11167,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11168,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":11169,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":11170,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":11171,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11172,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11173,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11176,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":11177,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":11178,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11179,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11180,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":11181,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11182,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11183,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":11184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11185,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11186,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11187,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11188,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11189,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/entities\": {","isFullCredit":false},{"lineNumber":11190,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":11191,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11192,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11193,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11194,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11195,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11196,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":11197,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":11198,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11199,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11200,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11201,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11202,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11203,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/htmlparser2\": {","isFullCredit":false},{"lineNumber":11204,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":11205,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11206,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11207,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":11208,"author":{"gitId":"-"},"content":" \"domhandler\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":11209,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11210,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11211,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11212,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11213,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":11214,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":11215,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11217,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":11218,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11219,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11221,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11222,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11223,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/acorn\": {","isFullCredit":false},{"lineNumber":11224,"author":{"gitId":"-"},"content":" \"version\": \"4.0.13\",","isFullCredit":false},{"lineNumber":11225,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11226,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11227,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\"","isFullCredit":false},{"lineNumber":11228,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11229,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11230,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\"","isFullCredit":false},{"lineNumber":11231,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11232,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11233,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/brace-expansion\": {","isFullCredit":false},{"lineNumber":11234,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\",","isFullCredit":false},{"lineNumber":11235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11236,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11237,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":11238,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\"","isFullCredit":false},{"lineNumber":11239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11240,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11241,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/commander\": {","isFullCredit":false},{"lineNumber":11242,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\",","isFullCredit":false},{"lineNumber":11243,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11244,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11245,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/constantinople\": {","isFullCredit":false},{"lineNumber":11246,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":11247,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11248,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11249,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":11250,"author":{"gitId":"-"},"content":" \"@types/babylon\": \"^6.16.2\",","isFullCredit":false},{"lineNumber":11251,"author":{"gitId":"-"},"content":" \"babel-types\": \"^6.26.0\",","isFullCredit":false},{"lineNumber":11252,"author":{"gitId":"-"},"content":" \"babylon\": \"^6.18.0\"","isFullCredit":false},{"lineNumber":11253,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11254,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11255,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/is-expression\": {","isFullCredit":false},{"lineNumber":11256,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":11257,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11258,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11259,"author":{"gitId":"-"},"content":" \"acorn\": \"~4.0.2\",","isFullCredit":false},{"lineNumber":11260,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":11261,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11262,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11263,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/minimatch\": {","isFullCredit":false},{"lineNumber":11264,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":11265,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11266,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11267,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\"","isFullCredit":false},{"lineNumber":11268,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11269,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11270,"author":{"gitId":"-"},"content":" \"node\": \"*\"","isFullCredit":false},{"lineNumber":11271,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11272,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11273,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-attrs\": {","isFullCredit":false},{"lineNumber":11274,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":11275,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11276,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11277,"author":{"gitId":"-"},"content":" \"constantinople\": \"^3.0.1\",","isFullCredit":false},{"lineNumber":11278,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":11279,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^2.0.5\"","isFullCredit":false},{"lineNumber":11280,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11281,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11282,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-error\": {","isFullCredit":false},{"lineNumber":11283,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\",","isFullCredit":false},{"lineNumber":11284,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11285,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11286,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-lexer\": {","isFullCredit":false},{"lineNumber":11287,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":11288,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11289,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11290,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":11291,"author":{"gitId":"-"},"content":" \"is-expression\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":11292,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.3\"","isFullCredit":false},{"lineNumber":11293,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11294,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11295,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-runtime\": {","isFullCredit":false},{"lineNumber":11296,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":11297,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11298,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11299,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/strip-json-comments\": {","isFullCredit":false},{"lineNumber":11300,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":11301,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11302,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11303,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11304,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11305,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11306,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/void-elements\": {","isFullCredit":false},{"lineNumber":11307,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":11308,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11309,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11310,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11311,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11312,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11313,"author":{"gitId":"-"},"content":" \"node_modules/pug-load\": {","isFullCredit":false},{"lineNumber":11314,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":11315,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11316,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11317,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11318,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":11319,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11320,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11322,"author":{"gitId":"-"},"content":" \"node_modules/pug-parser\": {","isFullCredit":false},{"lineNumber":11323,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":11324,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11325,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11326,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11327,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11328,"author":{"gitId":"-"},"content":" \"token-stream\": \"1.0.0\"","isFullCredit":false},{"lineNumber":11329,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11330,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11331,"author":{"gitId":"-"},"content":" \"node_modules/pug-plain-loader\": {","isFullCredit":false},{"lineNumber":11332,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":11333,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11334,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11335,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11336,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\"","isFullCredit":false},{"lineNumber":11337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11338,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":11339,"author":{"gitId":"-"},"content":" \"pug\": \"^2.0.0 || ^3.0.0\"","isFullCredit":false},{"lineNumber":11340,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11341,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11342,"author":{"gitId":"-"},"content":" \"node_modules/pug-runtime\": {","isFullCredit":false},{"lineNumber":11343,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":11344,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11345,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11346,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11347,"author":{"gitId":"-"},"content":" \"node_modules/pug-strip-comments\": {","isFullCredit":false},{"lineNumber":11348,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":11349,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11350,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11351,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11352,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11353,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11354,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11355,"author":{"gitId":"-"},"content":" \"node_modules/pug-walk\": {","isFullCredit":false},{"lineNumber":11356,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":11357,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11358,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11359,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11360,"author":{"gitId":"-"},"content":" \"node_modules/pump\": {","isFullCredit":false},{"lineNumber":11361,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":11362,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11364,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11365,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":11366,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\"","isFullCredit":false},{"lineNumber":11367,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11369,"author":{"gitId":"-"},"content":" \"node_modules/punycode\": {","isFullCredit":false},{"lineNumber":11370,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":11371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11372,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11373,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":11374,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11375,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11376,"author":{"gitId":"-"},"content":" \"node_modules/punycode.js\": {","isFullCredit":false},{"lineNumber":11377,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":11378,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11379,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":11381,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11383,"author":{"gitId":"-"},"content":" \"node_modules/qs\": {","isFullCredit":false},{"lineNumber":11384,"author":{"gitId":"-"},"content":" \"version\": \"6.11.0\",","isFullCredit":false},{"lineNumber":11385,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11386,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":11387,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11388,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\"","isFullCredit":false},{"lineNumber":11389,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11390,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11391,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\"","isFullCredit":false},{"lineNumber":11392,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11393,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11394,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":11395,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11396,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11397,"author":{"gitId":"-"},"content":" \"node_modules/queue-microtask\": {","isFullCredit":false},{"lineNumber":11398,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\",","isFullCredit":false},{"lineNumber":11399,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11400,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":11401,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11402,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":11403,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":11404,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11405,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11406,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":11407,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":11408,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11409,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11410,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":11411,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":11412,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11413,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":11414,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11415,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11416,"author":{"gitId":"-"},"content":" \"node_modules/randombytes\": {","isFullCredit":false},{"lineNumber":11417,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":11418,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11419,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11420,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":11421,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11422,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11423,"author":{"gitId":"-"},"content":" \"node_modules/range-parser\": {","isFullCredit":false},{"lineNumber":11424,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\",","isFullCredit":false},{"lineNumber":11425,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11426,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11427,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11428,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":11429,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11431,"author":{"gitId":"-"},"content":" \"node_modules/raw-body\": {","isFullCredit":false},{"lineNumber":11432,"author":{"gitId":"-"},"content":" \"version\": \"2.5.2\",","isFullCredit":false},{"lineNumber":11433,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11435,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11436,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\",","isFullCredit":false},{"lineNumber":11437,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\",","isFullCredit":false},{"lineNumber":11438,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\",","isFullCredit":false},{"lineNumber":11439,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\"","isFullCredit":false},{"lineNumber":11440,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11441,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11442,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":11443,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11445,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/bytes\": {","isFullCredit":false},{"lineNumber":11446,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\",","isFullCredit":false},{"lineNumber":11447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11448,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11449,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11450,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":11451,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11453,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/iconv-lite\": {","isFullCredit":false},{"lineNumber":11454,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\",","isFullCredit":false},{"lineNumber":11455,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11456,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11457,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11458,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\"","isFullCredit":false},{"lineNumber":11459,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11460,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11461,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11462,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11464,"author":{"gitId":"-"},"content":" \"node_modules/react\": {","isFullCredit":false},{"lineNumber":11465,"author":{"gitId":"-"},"content":" \"version\": \"16.14.0\",","isFullCredit":false},{"lineNumber":11466,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11467,"author":{"gitId":"-"},"content":" \"peer\": true,","isFullCredit":false},{"lineNumber":11468,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11469,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":11470,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\",","isFullCredit":false},{"lineNumber":11471,"author":{"gitId":"-"},"content":" \"prop-types\": \"^15.6.2\"","isFullCredit":false},{"lineNumber":11472,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11473,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11475,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11476,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11477,"author":{"gitId":"-"},"content":" \"node_modules/react-addons-shallow-compare\": {","isFullCredit":false},{"lineNumber":11478,"author":{"gitId":"-"},"content":" \"version\": \"15.6.3\",","isFullCredit":false},{"lineNumber":11479,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11480,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11481,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":11482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11483,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11484,"author":{"gitId":"-"},"content":" \"node_modules/react-is\": {","isFullCredit":false},{"lineNumber":11485,"author":{"gitId":"-"},"content":" \"version\": \"16.13.1\",","isFullCredit":false},{"lineNumber":11486,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11487,"author":{"gitId":"-"},"content":" \"peer\": true","isFullCredit":false},{"lineNumber":11488,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11489,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg\": {","isFullCredit":false},{"lineNumber":11490,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\",","isFullCredit":false},{"lineNumber":11491,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11492,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11493,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11494,"author":{"gitId":"-"},"content":" \"@types/normalize-package-data\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":11495,"author":{"gitId":"-"},"content":" \"normalize-package-data\": \"^2.5.0\",","isFullCredit":false},{"lineNumber":11496,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":11497,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.6.0\"","isFullCredit":false},{"lineNumber":11498,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11499,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11500,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11501,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11502,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11503,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up\": {","isFullCredit":false},{"lineNumber":11504,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\",","isFullCredit":false},{"lineNumber":11505,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11506,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11507,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11508,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":11509,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.2.0\",","isFullCredit":false},{"lineNumber":11510,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.8.1\"","isFullCredit":false},{"lineNumber":11511,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11512,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11513,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11514,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11515,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11516,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":11517,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11518,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11519,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/find-up\": {","isFullCredit":false},{"lineNumber":11520,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":11521,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11522,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11523,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11524,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":11525,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":11526,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11527,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11528,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11529,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11530,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11531,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/locate-path\": {","isFullCredit":false},{"lineNumber":11532,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":11533,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11534,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11535,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11536,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\"","isFullCredit":false},{"lineNumber":11537,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11538,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11539,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11540,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11541,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11542,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-limit\": {","isFullCredit":false},{"lineNumber":11543,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":11544,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11545,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11546,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11547,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11548,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11549,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11550,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":11551,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11552,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11553,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":11554,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11555,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11556,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-locate\": {","isFullCredit":false},{"lineNumber":11557,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":11558,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11559,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11560,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11561,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":11562,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11563,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11564,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11565,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11566,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11567,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":11568,"author":{"gitId":"-"},"content":" \"version\": \"0.8.1\",","isFullCredit":false},{"lineNumber":11569,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11570,"author":{"gitId":"-"},"content":" \"license\": \"(MIT OR CC0-1.0)\",","isFullCredit":false},{"lineNumber":11571,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11572,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11574,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11575,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/hosted-git-info\": {","isFullCredit":false},{"lineNumber":11576,"author":{"gitId":"-"},"content":" \"version\": \"2.8.9\",","isFullCredit":false},{"lineNumber":11577,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11578,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":11579,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11580,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/normalize-package-data\": {","isFullCredit":false},{"lineNumber":11581,"author":{"gitId":"-"},"content":" \"version\": \"2.5.0\",","isFullCredit":false},{"lineNumber":11582,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11583,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11584,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11585,"author":{"gitId":"-"},"content":" \"hosted-git-info\": \"^2.1.4\",","isFullCredit":false},{"lineNumber":11586,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.10.0\",","isFullCredit":false},{"lineNumber":11587,"author":{"gitId":"-"},"content":" \"semver\": \"2 || 3 || 4 || 5\",","isFullCredit":false},{"lineNumber":11588,"author":{"gitId":"-"},"content":" \"validate-npm-package-license\": \"^3.0.1\"","isFullCredit":false},{"lineNumber":11589,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11590,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11591,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/semver\": {","isFullCredit":false},{"lineNumber":11592,"author":{"gitId":"-"},"content":" \"version\": \"5.7.2\",","isFullCredit":false},{"lineNumber":11593,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11594,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11595,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11596,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\"","isFullCredit":false},{"lineNumber":11597,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11598,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11599,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":11600,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\",","isFullCredit":false},{"lineNumber":11601,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11602,"author":{"gitId":"-"},"content":" \"license\": \"(MIT OR CC0-1.0)\",","isFullCredit":false},{"lineNumber":11603,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11604,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11605,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11606,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11607,"author":{"gitId":"-"},"content":" \"node_modules/readable-stream\": {","isFullCredit":false},{"lineNumber":11608,"author":{"gitId":"-"},"content":" \"version\": \"2.3.7\",","isFullCredit":false},{"lineNumber":11609,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11610,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11611,"author":{"gitId":"-"},"content":" \"core-util-is\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":11612,"author":{"gitId":"-"},"content":" \"inherits\": \"~2.0.3\",","isFullCredit":false},{"lineNumber":11613,"author":{"gitId":"-"},"content":" \"isarray\": \"~1.0.0\",","isFullCredit":false},{"lineNumber":11614,"author":{"gitId":"-"},"content":" \"process-nextick-args\": \"~2.0.0\",","isFullCredit":false},{"lineNumber":11615,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.1\",","isFullCredit":false},{"lineNumber":11616,"author":{"gitId":"-"},"content":" \"string_decoder\": \"~1.1.1\",","isFullCredit":false},{"lineNumber":11617,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"~1.0.1\"","isFullCredit":false},{"lineNumber":11618,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11620,"author":{"gitId":"-"},"content":" \"node_modules/readdirp\": {","isFullCredit":false},{"lineNumber":11621,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\",","isFullCredit":false},{"lineNumber":11622,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11623,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11624,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11625,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.2.1\"","isFullCredit":false},{"lineNumber":11626,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11627,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11628,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.10.0\"","isFullCredit":false},{"lineNumber":11629,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11630,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11631,"author":{"gitId":"-"},"content":" \"node_modules/regenerate\": {","isFullCredit":false},{"lineNumber":11632,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\",","isFullCredit":false},{"lineNumber":11633,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11634,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11635,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11636,"author":{"gitId":"-"},"content":" \"node_modules/regenerate-unicode-properties\": {","isFullCredit":false},{"lineNumber":11637,"author":{"gitId":"-"},"content":" \"version\": \"10.1.0\",","isFullCredit":false},{"lineNumber":11638,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11639,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11640,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11641,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\"","isFullCredit":false},{"lineNumber":11642,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11643,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11644,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":11645,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11646,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11647,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-runtime\": {","isFullCredit":false},{"lineNumber":11648,"author":{"gitId":"-"},"content":" \"version\": \"0.13.11\",","isFullCredit":false},{"lineNumber":11649,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11650,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11652,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-transform\": {","isFullCredit":false},{"lineNumber":11653,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\",","isFullCredit":false},{"lineNumber":11654,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11655,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11656,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11657,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.8.4\"","isFullCredit":false},{"lineNumber":11658,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11659,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11660,"author":{"gitId":"-"},"content":" \"node_modules/regexp.prototype.flags\": {","isFullCredit":false},{"lineNumber":11661,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\",","isFullCredit":false},{"lineNumber":11662,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11664,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11665,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":11666,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":11667,"author":{"gitId":"-"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":11668,"author":{"gitId":"-"},"content":" \"set-function-name\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":11669,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11670,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11671,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":11672,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11673,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11674,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":11675,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11677,"author":{"gitId":"-"},"content":" \"node_modules/regexpu-core\": {","isFullCredit":false},{"lineNumber":11678,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\",","isFullCredit":false},{"lineNumber":11679,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11681,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11682,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\",","isFullCredit":false},{"lineNumber":11683,"author":{"gitId":"-"},"content":" \"regenerate-unicode-properties\": \"^10.1.0\",","isFullCredit":false},{"lineNumber":11684,"author":{"gitId":"-"},"content":" \"regjsgen\": \"^0.7.1\",","isFullCredit":false},{"lineNumber":11685,"author":{"gitId":"-"},"content":" \"regjsparser\": \"^0.9.1\",","isFullCredit":false},{"lineNumber":11686,"author":{"gitId":"-"},"content":" \"unicode-match-property-ecmascript\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":11687,"author":{"gitId":"-"},"content":" \"unicode-match-property-value-ecmascript\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":11688,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11689,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11690,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":11691,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11692,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11693,"author":{"gitId":"-"},"content":" \"node_modules/regjsgen\": {","isFullCredit":false},{"lineNumber":11694,"author":{"gitId":"-"},"content":" \"version\": \"0.7.1\",","isFullCredit":false},{"lineNumber":11695,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11696,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11697,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11698,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser\": {","isFullCredit":false},{"lineNumber":11699,"author":{"gitId":"-"},"content":" \"version\": \"0.9.1\",","isFullCredit":false},{"lineNumber":11700,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11701,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11702,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11703,"author":{"gitId":"-"},"content":" \"jsesc\": \"~0.5.0\"","isFullCredit":false},{"lineNumber":11704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11705,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11706,"author":{"gitId":"-"},"content":" \"regjsparser\": \"bin/parser\"","isFullCredit":false},{"lineNumber":11707,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11708,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11709,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser/node_modules/jsesc\": {","isFullCredit":false},{"lineNumber":11710,"author":{"gitId":"-"},"content":" \"version\": \"0.5.0\",","isFullCredit":false},{"lineNumber":11711,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11712,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11713,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\"","isFullCredit":false},{"lineNumber":11714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11715,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11716,"author":{"gitId":"-"},"content":" \"node_modules/relateurl\": {","isFullCredit":false},{"lineNumber":11717,"author":{"gitId":"-"},"content":" \"version\": \"0.2.7\",","isFullCredit":false},{"lineNumber":11718,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11719,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11720,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11721,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\"","isFullCredit":false},{"lineNumber":11722,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11723,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11724,"author":{"gitId":"-"},"content":" \"node_modules/renderkid\": {","isFullCredit":false},{"lineNumber":11725,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":11726,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11727,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11728,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11729,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":11730,"author":{"gitId":"-"},"content":" \"dom-converter\": \"^0.2.0\",","isFullCredit":false},{"lineNumber":11731,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^6.1.0\",","isFullCredit":false},{"lineNumber":11732,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":11733,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":11734,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11735,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11736,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/css-select\": {","isFullCredit":false},{"lineNumber":11737,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":11738,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11739,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11740,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11741,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":11742,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":11743,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\",","isFullCredit":false},{"lineNumber":11744,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\",","isFullCredit":false},{"lineNumber":11745,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":11746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11747,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11748,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":11749,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11750,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11751,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":11752,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":11753,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11754,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11755,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11756,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":11757,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":11758,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11759,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11760,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11761,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11762,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11763,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11764,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":11765,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":11766,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11767,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11768,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11769,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":11770,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11771,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11772,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":11773,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11774,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11775,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11776,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11777,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11778,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domutils\": {","isFullCredit":false},{"lineNumber":11779,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\",","isFullCredit":false},{"lineNumber":11780,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11781,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11782,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11783,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":11784,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":11785,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":11786,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11787,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11788,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11789,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11790,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11791,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/entities\": {","isFullCredit":false},{"lineNumber":11792,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":11793,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11794,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":11795,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11796,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":11797,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11798,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11799,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/htmlparser2\": {","isFullCredit":false},{"lineNumber":11800,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\",","isFullCredit":false},{"lineNumber":11801,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11802,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":11803,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\",","isFullCredit":false},{"lineNumber":11804,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11805,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":11806,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":11807,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11808,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":11809,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11810,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11811,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":11812,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11813,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.5.2\",","isFullCredit":false},{"lineNumber":11814,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":11815,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11816,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11817,"author":{"gitId":"-"},"content":" \"node_modules/require-directory\": {","isFullCredit":false},{"lineNumber":11818,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":11819,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11820,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11821,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11822,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11823,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11825,"author":{"gitId":"-"},"content":" \"node_modules/require-from-string\": {","isFullCredit":false},{"lineNumber":11826,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":11827,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11828,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11829,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11830,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11831,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11832,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11833,"author":{"gitId":"-"},"content":" \"node_modules/requires-port\": {","isFullCredit":false},{"lineNumber":11834,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":11835,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11836,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11837,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11838,"author":{"gitId":"-"},"content":" \"node_modules/resolve\": {","isFullCredit":false},{"lineNumber":11839,"author":{"gitId":"-"},"content":" \"version\": \"1.22.8\",","isFullCredit":false},{"lineNumber":11840,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11841,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11842,"author":{"gitId":"-"},"content":" \"is-core-module\": \"^2.13.0\",","isFullCredit":false},{"lineNumber":11843,"author":{"gitId":"-"},"content":" \"path-parse\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":11844,"author":{"gitId":"-"},"content":" \"supports-preserve-symlinks-flag\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":11845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11846,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11847,"author":{"gitId":"-"},"content":" \"resolve\": \"bin/resolve\"","isFullCredit":false},{"lineNumber":11848,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11849,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11850,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":11851,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11852,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11853,"author":{"gitId":"-"},"content":" \"node_modules/resolve-from\": {","isFullCredit":false},{"lineNumber":11854,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":11855,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11856,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11857,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11858,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":11859,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11860,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11861,"author":{"gitId":"-"},"content":" \"node_modules/restore-cursor\": {","isFullCredit":false},{"lineNumber":11862,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":11863,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11864,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11865,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11866,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\",","isFullCredit":false},{"lineNumber":11867,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\"","isFullCredit":false},{"lineNumber":11868,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11869,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11870,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":11871,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11872,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11873,"author":{"gitId":"-"},"content":" \"node_modules/reusify\": {","isFullCredit":false},{"lineNumber":11874,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":11875,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11876,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11877,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11878,"author":{"gitId":"-"},"content":" \"iojs\": \"\u003e\u003d1.0.0\",","isFullCredit":false},{"lineNumber":11879,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":11880,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11881,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11882,"author":{"gitId":"-"},"content":" \"node_modules/rimraf\": {","isFullCredit":false},{"lineNumber":11883,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\",","isFullCredit":false},{"lineNumber":11884,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11885,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":11886,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11887,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\"","isFullCredit":false},{"lineNumber":11888,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11889,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11890,"author":{"gitId":"-"},"content":" \"rimraf\": \"bin.js\"","isFullCredit":false},{"lineNumber":11891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11892,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11893,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":11894,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11895,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11896,"author":{"gitId":"-"},"content":" \"node_modules/run-parallel\": {","isFullCredit":false},{"lineNumber":11897,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":11898,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11899,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":11900,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11901,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":11902,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\"","isFullCredit":false},{"lineNumber":11903,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11904,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11905,"author":{"gitId":"-"},"content":" \"type\": \"patreon\",","isFullCredit":false},{"lineNumber":11906,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\"","isFullCredit":false},{"lineNumber":11907,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11908,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":11909,"author":{"gitId":"-"},"content":" \"type\": \"consulting\",","isFullCredit":false},{"lineNumber":11910,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\"","isFullCredit":false},{"lineNumber":11911,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11912,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":11913,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11914,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11915,"author":{"gitId":"-"},"content":" \"queue-microtask\": \"^1.2.2\"","isFullCredit":false},{"lineNumber":11916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11917,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11918,"author":{"gitId":"-"},"content":" \"node_modules/safe-array-concat\": {","isFullCredit":false},{"lineNumber":11919,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":11920,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11922,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11923,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":11924,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":11925,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":11926,"author":{"gitId":"-"},"content":" \"isarray\": \"^2.0.5\"","isFullCredit":false},{"lineNumber":11927,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11928,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11929,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4\"","isFullCredit":false},{"lineNumber":11930,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11931,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11932,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":11933,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":11934,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11935,"author":{"gitId":"-"},"content":" \"node_modules/safe-array-concat/node_modules/isarray\": {","isFullCredit":false},{"lineNumber":11936,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\",","isFullCredit":false},{"lineNumber":11937,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11938,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11939,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11940,"author":{"gitId":"-"},"content":" \"node_modules/safe-buffer\": {","isFullCredit":false},{"lineNumber":11941,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\",","isFullCredit":false},{"lineNumber":11942,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11943,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11944,"author":{"gitId":"-"},"content":" \"node_modules/safe-regex-test\": {","isFullCredit":false},{"lineNumber":11945,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\",","isFullCredit":false},{"lineNumber":11946,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11947,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11948,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11949,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\",","isFullCredit":false},{"lineNumber":11950,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":11951,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\"","isFullCredit":false},{"lineNumber":11952,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11953,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":11955,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":11956,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11957,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":11958,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11959,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11960,"author":{"gitId":"-"},"content":" \"node_modules/safer-buffer\": {","isFullCredit":false},{"lineNumber":11961,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":11962,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11963,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":11964,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11965,"author":{"gitId":"-"},"content":" \"node_modules/sass\": {","isFullCredit":false},{"lineNumber":11966,"author":{"gitId":"-"},"content":" \"version\": \"1.72.0\",","isFullCredit":false},{"lineNumber":11967,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":11969,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11970,"author":{"gitId":"-"},"content":" \"chokidar\": \"\u003e\u003d3.0.0 \u003c4.0.0\",","isFullCredit":false},{"lineNumber":11971,"author":{"gitId":"-"},"content":" \"immutable\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":11972,"author":{"gitId":"-"},"content":" \"source-map-js\": \"\u003e\u003d0.6.2 \u003c2.0.0\"","isFullCredit":false},{"lineNumber":11973,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11974,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":11975,"author":{"gitId":"-"},"content":" \"sass\": \"sass.js\"","isFullCredit":false},{"lineNumber":11976,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11977,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11978,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":11979,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":11980,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11981,"author":{"gitId":"-"},"content":" \"node_modules/sass-loader\": {","isFullCredit":false},{"lineNumber":11982,"author":{"gitId":"-"},"content":" \"version\": \"14.2.1\",","isFullCredit":false},{"lineNumber":11983,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz\",","isFullCredit":false},{"lineNumber":11984,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":11985,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":11986,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":11987,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\"","isFullCredit":false},{"lineNumber":11988,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11989,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":11990,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 18.12.0\"","isFullCredit":false},{"lineNumber":11991,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11992,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":11993,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":11994,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":11995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":11996,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":11997,"author":{"gitId":"-"},"content":" \"@rspack/core\": \"0.x || 1.x\",","isFullCredit":false},{"lineNumber":11998,"author":{"gitId":"-"},"content":" \"node-sass\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0\",","isFullCredit":false},{"lineNumber":11999,"author":{"gitId":"-"},"content":" \"sass\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":12000,"author":{"gitId":"-"},"content":" \"sass-embedded\": \"*\",","isFullCredit":false},{"lineNumber":12001,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":12002,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12003,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":12004,"author":{"gitId":"-"},"content":" \"@rspack/core\": {","isFullCredit":false},{"lineNumber":12005,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12006,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12007,"author":{"gitId":"-"},"content":" \"node-sass\": {","isFullCredit":false},{"lineNumber":12008,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12009,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12010,"author":{"gitId":"-"},"content":" \"sass\": {","isFullCredit":false},{"lineNumber":12011,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12012,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12013,"author":{"gitId":"-"},"content":" \"sass-embedded\": {","isFullCredit":false},{"lineNumber":12014,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12015,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12016,"author":{"gitId":"-"},"content":" \"webpack\": {","isFullCredit":false},{"lineNumber":12017,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12018,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12019,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12020,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12021,"author":{"gitId":"-"},"content":" \"node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":12022,"author":{"gitId":"-"},"content":" \"version\": \"2.7.1\",","isFullCredit":false},{"lineNumber":12023,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12024,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12025,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12026,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\",","isFullCredit":false},{"lineNumber":12027,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\",","isFullCredit":false},{"lineNumber":12028,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":12029,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12030,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12031,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\"","isFullCredit":false},{"lineNumber":12032,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12033,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12034,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":12035,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":12036,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12037,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12038,"author":{"gitId":"-"},"content":" \"node_modules/seedrandom\": {","isFullCredit":false},{"lineNumber":12039,"author":{"gitId":"-"},"content":" \"version\": \"3.0.5\",","isFullCredit":false},{"lineNumber":12040,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12041,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12042,"author":{"gitId":"-"},"content":" \"node_modules/select-hose\": {","isFullCredit":false},{"lineNumber":12043,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12044,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12045,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12047,"author":{"gitId":"-"},"content":" \"node_modules/selfsigned\": {","isFullCredit":false},{"lineNumber":12048,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\",","isFullCredit":false},{"lineNumber":12049,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12050,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12051,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12052,"author":{"gitId":"-"},"content":" \"node-forge\": \"^1\"","isFullCredit":false},{"lineNumber":12053,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12054,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12055,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":12056,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12057,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12058,"author":{"gitId":"-"},"content":" \"node_modules/semver\": {","isFullCredit":false},{"lineNumber":12059,"author":{"gitId":"-"},"content":" \"version\": \"6.3.1\",","isFullCredit":false},{"lineNumber":12060,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12061,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":12062,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":12063,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":12064,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12065,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12066,"author":{"gitId":"-"},"content":" \"node_modules/send\": {","isFullCredit":false},{"lineNumber":12067,"author":{"gitId":"-"},"content":" \"version\": \"0.18.0\",","isFullCredit":false},{"lineNumber":12068,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12069,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12070,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12071,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":12072,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12073,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\",","isFullCredit":false},{"lineNumber":12074,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":12075,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\",","isFullCredit":false},{"lineNumber":12076,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\",","isFullCredit":false},{"lineNumber":12077,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\",","isFullCredit":false},{"lineNumber":12078,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12079,"author":{"gitId":"-"},"content":" \"mime\": \"1.6.0\",","isFullCredit":false},{"lineNumber":12080,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.3\",","isFullCredit":false},{"lineNumber":12081,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\",","isFullCredit":false},{"lineNumber":12082,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\",","isFullCredit":false},{"lineNumber":12083,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\"","isFullCredit":false},{"lineNumber":12084,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12085,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12086,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":12087,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12088,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12089,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug\": {","isFullCredit":false},{"lineNumber":12090,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":12091,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12092,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12093,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12094,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":12095,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12096,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12097,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug/node_modules/ms\": {","isFullCredit":false},{"lineNumber":12098,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12099,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12100,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12101,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12102,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/depd\": {","isFullCredit":false},{"lineNumber":12103,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12104,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12105,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12106,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12107,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":12108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12109,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12110,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/ms\": {","isFullCredit":false},{"lineNumber":12111,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\",","isFullCredit":false},{"lineNumber":12112,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12113,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12115,"author":{"gitId":"-"},"content":" \"node_modules/serialize-javascript\": {","isFullCredit":false},{"lineNumber":12116,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":12117,"author":{"gitId":"-"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":12118,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12119,"author":{"gitId":"-"},"content":" \"randombytes\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":12120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12121,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12122,"author":{"gitId":"-"},"content":" \"node_modules/serve-index\": {","isFullCredit":false},{"lineNumber":12123,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\",","isFullCredit":false},{"lineNumber":12124,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12126,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12127,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.4\",","isFullCredit":false},{"lineNumber":12128,"author":{"gitId":"-"},"content":" \"batch\": \"0.6.1\",","isFullCredit":false},{"lineNumber":12129,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\",","isFullCredit":false},{"lineNumber":12130,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\",","isFullCredit":false},{"lineNumber":12131,"author":{"gitId":"-"},"content":" \"http-errors\": \"~1.6.2\",","isFullCredit":false},{"lineNumber":12132,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.17\",","isFullCredit":false},{"lineNumber":12133,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.2\"","isFullCredit":false},{"lineNumber":12134,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12135,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":12137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12138,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12139,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/debug\": {","isFullCredit":false},{"lineNumber":12140,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\",","isFullCredit":false},{"lineNumber":12141,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12143,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12144,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\"","isFullCredit":false},{"lineNumber":12145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12147,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/http-errors\": {","isFullCredit":false},{"lineNumber":12148,"author":{"gitId":"-"},"content":" \"version\": \"1.6.3\",","isFullCredit":false},{"lineNumber":12149,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12150,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12151,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12152,"author":{"gitId":"-"},"content":" \"depd\": \"~1.1.2\",","isFullCredit":false},{"lineNumber":12153,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.3\",","isFullCredit":false},{"lineNumber":12154,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.1.0\",","isFullCredit":false},{"lineNumber":12155,"author":{"gitId":"-"},"content":" \"statuses\": \"\u003e\u003d 1.4.0 \u003c 2\"","isFullCredit":false},{"lineNumber":12156,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12157,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12158,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":12159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12160,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12161,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/inherits\": {","isFullCredit":false},{"lineNumber":12162,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\",","isFullCredit":false},{"lineNumber":12163,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12164,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12165,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12166,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/ms\": {","isFullCredit":false},{"lineNumber":12167,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12168,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12169,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12170,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12171,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/setprototypeof\": {","isFullCredit":false},{"lineNumber":12172,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":12173,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12174,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12175,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12176,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/statuses\": {","isFullCredit":false},{"lineNumber":12177,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":12178,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12179,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12180,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12181,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":12182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12183,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12184,"author":{"gitId":"-"},"content":" \"node_modules/serve-static\": {","isFullCredit":false},{"lineNumber":12185,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\",","isFullCredit":false},{"lineNumber":12186,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12187,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12188,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12189,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\",","isFullCredit":false},{"lineNumber":12190,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\",","isFullCredit":false},{"lineNumber":12191,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\",","isFullCredit":false},{"lineNumber":12192,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\"","isFullCredit":false},{"lineNumber":12193,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12194,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12195,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":12196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12197,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12198,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-length\": {","isFullCredit":false},{"lineNumber":12199,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\",","isFullCredit":false},{"lineNumber":12200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12201,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12202,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":12203,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":12204,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":12205,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\",","isFullCredit":false},{"lineNumber":12206,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":12207,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":12208,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12209,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12210,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":12211,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12212,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12213,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-name\": {","isFullCredit":false},{"lineNumber":12214,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":12215,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12216,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12217,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12218,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\",","isFullCredit":false},{"lineNumber":12219,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":12220,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\",","isFullCredit":false},{"lineNumber":12221,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":12222,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12223,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":12225,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12226,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12227,"author":{"gitId":"-"},"content":" \"node_modules/setimmediate\": {","isFullCredit":false},{"lineNumber":12228,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":12229,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12231,"author":{"gitId":"-"},"content":" \"node_modules/setprototypeof\": {","isFullCredit":false},{"lineNumber":12232,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":12233,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12234,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12235,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12236,"author":{"gitId":"-"},"content":" \"node_modules/shallow-clone\": {","isFullCredit":false},{"lineNumber":12237,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":12238,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12239,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12240,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12241,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\"","isFullCredit":false},{"lineNumber":12242,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12243,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12244,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12245,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12246,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12247,"author":{"gitId":"-"},"content":" \"node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":12248,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12249,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12250,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12251,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12252,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":12253,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12254,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12255,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12256,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12257,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12258,"author":{"gitId":"-"},"content":" \"node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":12259,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":12260,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12261,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12262,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12263,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12265,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12266,"author":{"gitId":"-"},"content":" \"node_modules/shell-quote\": {","isFullCredit":false},{"lineNumber":12267,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\",","isFullCredit":false},{"lineNumber":12268,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12269,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12270,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12271,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":12272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12274,"author":{"gitId":"-"},"content":" \"node_modules/side-channel\": {","isFullCredit":false},{"lineNumber":12275,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\",","isFullCredit":false},{"lineNumber":12276,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12277,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12278,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12279,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12280,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":12281,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\"","isFullCredit":false},{"lineNumber":12282,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12283,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12284,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":12285,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12286,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12287,"author":{"gitId":"-"},"content":" \"node_modules/signal-exit\": {","isFullCredit":false},{"lineNumber":12288,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\",","isFullCredit":false},{"lineNumber":12289,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12290,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12291,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12292,"author":{"gitId":"-"},"content":" \"node_modules/sirv\": {","isFullCredit":false},{"lineNumber":12293,"author":{"gitId":"-"},"content":" \"version\": \"1.0.19\",","isFullCredit":false},{"lineNumber":12294,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12295,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12296,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12297,"author":{"gitId":"-"},"content":" \"@polka/url\": \"^1.0.0-next.20\",","isFullCredit":false},{"lineNumber":12298,"author":{"gitId":"-"},"content":" \"mrmime\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12299,"author":{"gitId":"-"},"content":" \"totalist\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":12300,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12301,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12302,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\"","isFullCredit":false},{"lineNumber":12303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12304,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12305,"author":{"gitId":"-"},"content":" \"node_modules/slash\": {","isFullCredit":false},{"lineNumber":12306,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":12307,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12308,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12309,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12310,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12311,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12312,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12313,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi\": {","isFullCredit":false},{"lineNumber":12314,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":12315,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12316,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12317,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12318,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":12319,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12320,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":12321,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12322,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12323,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":12324,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12325,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12326,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":12327,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12328,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12329,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":12330,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":12331,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12333,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12334,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":12335,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12336,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12337,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12338,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12339,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12340,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":12341,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12343,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":12344,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":12345,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12346,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12347,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12348,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":12349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12350,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12351,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":12352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12354,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":12355,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":12356,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12357,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12358,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12359,"author":{"gitId":"-"},"content":" \"node_modules/sockjs\": {","isFullCredit":false},{"lineNumber":12360,"author":{"gitId":"-"},"content":" \"version\": \"0.3.24\",","isFullCredit":false},{"lineNumber":12361,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12362,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12363,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12364,"author":{"gitId":"-"},"content":" \"faye-websocket\": \"^0.11.3\",","isFullCredit":false},{"lineNumber":12365,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\",","isFullCredit":false},{"lineNumber":12366,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"^0.7.4\"","isFullCredit":false},{"lineNumber":12367,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12369,"author":{"gitId":"-"},"content":" \"node_modules/sockjs/node_modules/uuid\": {","isFullCredit":false},{"lineNumber":12370,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\",","isFullCredit":false},{"lineNumber":12371,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12372,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12373,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":12374,"author":{"gitId":"-"},"content":" \"uuid\": \"dist/bin/uuid\"","isFullCredit":false},{"lineNumber":12375,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12376,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12377,"author":{"gitId":"sopa301"},"content":" \"node_modules/source-map\": {","isFullCredit":false},{"lineNumber":12378,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\",","isFullCredit":false},{"lineNumber":12379,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":12380,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12381,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":12382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12383,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12384,"author":{"gitId":"-"},"content":" \"node_modules/source-map-js\": {","isFullCredit":false},{"lineNumber":12385,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":12386,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":12387,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12388,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":12389,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12390,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12391,"author":{"gitId":"-"},"content":" \"node_modules/source-map-support\": {","isFullCredit":false},{"lineNumber":12392,"author":{"gitId":"-"},"content":" \"version\": \"0.5.21\",","isFullCredit":false},{"lineNumber":12393,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12394,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12395,"author":{"gitId":"-"},"content":" \"buffer-from\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12396,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.0\"","isFullCredit":false},{"lineNumber":12397,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12398,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12399,"author":{"gitId":"-"},"content":" \"node_modules/spdx-correct\": {","isFullCredit":false},{"lineNumber":12400,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":12401,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12402,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":12403,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12404,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":12405,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":12406,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12407,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12408,"author":{"gitId":"-"},"content":" \"node_modules/spdx-exceptions\": {","isFullCredit":false},{"lineNumber":12409,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\",","isFullCredit":false},{"lineNumber":12410,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12411,"author":{"gitId":"-"},"content":" \"license\": \"CC-BY-3.0\"","isFullCredit":false},{"lineNumber":12412,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12413,"author":{"gitId":"-"},"content":" \"node_modules/spdx-expression-parse\": {","isFullCredit":false},{"lineNumber":12414,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":12415,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12416,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12417,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12418,"author":{"gitId":"-"},"content":" \"spdx-exceptions\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":12419,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":12420,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12421,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12422,"author":{"gitId":"-"},"content":" \"node_modules/spdx-license-ids\": {","isFullCredit":false},{"lineNumber":12423,"author":{"gitId":"-"},"content":" \"version\": \"3.0.12\",","isFullCredit":false},{"lineNumber":12424,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12425,"author":{"gitId":"-"},"content":" \"license\": \"CC0-1.0\"","isFullCredit":false},{"lineNumber":12426,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12427,"author":{"gitId":"-"},"content":" \"node_modules/spdy\": {","isFullCredit":false},{"lineNumber":12428,"author":{"gitId":"-"},"content":" \"version\": \"4.0.2\",","isFullCredit":false},{"lineNumber":12429,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12430,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12431,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12432,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":12433,"author":{"gitId":"-"},"content":" \"handle-thing\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12434,"author":{"gitId":"-"},"content":" \"http-deceiver\": \"^1.2.7\",","isFullCredit":false},{"lineNumber":12435,"author":{"gitId":"-"},"content":" \"select-hose\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12436,"author":{"gitId":"-"},"content":" \"spdy-transport\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":12437,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12438,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12439,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":12440,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12441,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12442,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport\": {","isFullCredit":false},{"lineNumber":12443,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":12444,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12445,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12446,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12447,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":12448,"author":{"gitId":"-"},"content":" \"detect-node\": \"^2.0.4\",","isFullCredit":false},{"lineNumber":12449,"author":{"gitId":"-"},"content":" \"hpack.js\": \"^2.1.6\",","isFullCredit":false},{"lineNumber":12450,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.1.2\",","isFullCredit":false},{"lineNumber":12451,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.0.6\",","isFullCredit":false},{"lineNumber":12452,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.7.3\"","isFullCredit":false},{"lineNumber":12453,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12454,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12455,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport/node_modules/readable-stream\": {","isFullCredit":false},{"lineNumber":12456,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\",","isFullCredit":false},{"lineNumber":12457,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12458,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12459,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12460,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":12461,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\",","isFullCredit":false},{"lineNumber":12462,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":12463,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12464,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12465,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":12466,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12467,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12468,"author":{"gitId":"-"},"content":" \"node_modules/ssri\": {","isFullCredit":false},{"lineNumber":12469,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\",","isFullCredit":false},{"lineNumber":12470,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12471,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":12472,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12473,"author":{"gitId":"-"},"content":" \"minipass\": \"^3.1.1\"","isFullCredit":false},{"lineNumber":12474,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12475,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12476,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":12477,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12478,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12479,"author":{"gitId":"-"},"content":" \"node_modules/stable\": {","isFullCredit":false},{"lineNumber":12480,"author":{"gitId":"-"},"content":" \"version\": \"0.1.8\",","isFullCredit":false},{"lineNumber":12481,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12482,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12483,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12484,"author":{"gitId":"-"},"content":" \"node_modules/stackframe\": {","isFullCredit":false},{"lineNumber":12485,"author":{"gitId":"-"},"content":" \"version\": \"1.3.4\",","isFullCredit":false},{"lineNumber":12486,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12487,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12488,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12489,"author":{"gitId":"-"},"content":" \"node_modules/statuses\": {","isFullCredit":false},{"lineNumber":12490,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":12491,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12492,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12493,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12494,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":12495,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12496,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12497,"author":{"gitId":"-"},"content":" \"node_modules/string_decoder\": {","isFullCredit":false},{"lineNumber":12498,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\",","isFullCredit":false},{"lineNumber":12499,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12500,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12501,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.0\"","isFullCredit":false},{"lineNumber":12502,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12503,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12504,"author":{"gitId":"-"},"content":" \"node_modules/string-width\": {","isFullCredit":false},{"lineNumber":12505,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\",","isFullCredit":false},{"lineNumber":12506,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12507,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12508,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12509,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":12510,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":12511,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":12512,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12513,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12514,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12515,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12516,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12517,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trim\": {","isFullCredit":false},{"lineNumber":12518,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\",","isFullCredit":false},{"lineNumber":12519,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12520,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12521,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12522,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":12523,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":12524,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":12525,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12526,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12527,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":12528,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12529,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12530,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":12531,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12532,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12533,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimend\": {","isFullCredit":false},{"lineNumber":12534,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":12535,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12536,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12537,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12538,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":12539,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":12540,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":12541,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12542,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12543,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":12544,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12545,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12546,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimstart\": {","isFullCredit":false},{"lineNumber":12547,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\",","isFullCredit":false},{"lineNumber":12548,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12549,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12550,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12551,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":12552,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":12553,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\"","isFullCredit":false},{"lineNumber":12554,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12555,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12556,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":12557,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12558,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12559,"author":{"gitId":"-"},"content":" \"node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":12560,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":12561,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12562,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12563,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12564,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":12565,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12566,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12567,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12568,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12569,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12570,"author":{"gitId":"-"},"content":" \"node_modules/strip-bom\": {","isFullCredit":false},{"lineNumber":12571,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":12572,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12573,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12574,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12575,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":12576,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12577,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12578,"author":{"gitId":"-"},"content":" \"node_modules/strip-eof\": {","isFullCredit":false},{"lineNumber":12579,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":12580,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12581,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12582,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12583,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":12584,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12585,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12586,"author":{"gitId":"-"},"content":" \"node_modules/strip-final-newline\": {","isFullCredit":false},{"lineNumber":12587,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12588,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12589,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12590,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":12592,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12593,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12594,"author":{"gitId":"-"},"content":" \"node_modules/strip-json-comments\": {","isFullCredit":false},{"lineNumber":12595,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":12596,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12597,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12598,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12599,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12600,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12601,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12602,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":12603,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12605,"author":{"gitId":"-"},"content":" \"node_modules/style-search\": {","isFullCredit":false},{"lineNumber":12606,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":12607,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12608,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12610,"author":{"gitId":"-"},"content":" \"node_modules/stylehacks\": {","isFullCredit":false},{"lineNumber":12611,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\",","isFullCredit":false},{"lineNumber":12612,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12613,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12614,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12615,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\",","isFullCredit":false},{"lineNumber":12616,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\"","isFullCredit":false},{"lineNumber":12617,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12618,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12619,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\"","isFullCredit":false},{"lineNumber":12620,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12621,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12622,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\"","isFullCredit":false},{"lineNumber":12623,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12624,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12625,"author":{"gitId":"-"},"content":" \"node_modules/stylelint\": {","isFullCredit":false},{"lineNumber":12626,"author":{"gitId":"sopa301"},"content":" \"version\": \"16.3.1\",","isFullCredit":false},{"lineNumber":12627,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz\",","isFullCredit":false},{"lineNumber":12628,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12629,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12630,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12631,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\",","isFullCredit":false},{"lineNumber":12632,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\",","isFullCredit":false},{"lineNumber":12633,"author":{"gitId":"sopa301"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.9\",","isFullCredit":false},{"lineNumber":12634,"author":{"gitId":"sopa301"},"content":" \"@csstools/selector-specificity\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":12635,"author":{"gitId":"sopa301"},"content":" \"@dual-bundle/import-meta-resolve\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":12636,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12637,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.3\",","isFullCredit":false},{"lineNumber":12638,"author":{"gitId":"sopa301"},"content":" \"cosmiconfig\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":12639,"author":{"gitId":"sopa301"},"content":" \"css-functions-list\": \"^3.2.1\",","isFullCredit":false},{"lineNumber":12640,"author":{"gitId":"sopa301"},"content":" \"css-tree\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":12641,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":12642,"author":{"gitId":"sopa301"},"content":" \"fast-glob\": \"^3.3.2\",","isFullCredit":false},{"lineNumber":12643,"author":{"gitId":"-"},"content":" \"fastest-levenshtein\": \"^1.0.16\",","isFullCredit":false},{"lineNumber":12644,"author":{"gitId":"sopa301"},"content":" \"file-entry-cache\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":12645,"author":{"gitId":"-"},"content":" \"global-modules\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12646,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":12647,"author":{"gitId":"-"},"content":" \"globjoin\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":12648,"author":{"gitId":"sopa301"},"content":" \"html-tags\": \"^3.3.1\",","isFullCredit":false},{"lineNumber":12649,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.3.1\",","isFullCredit":false},{"lineNumber":12650,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":12651,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":12652,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.30.0\",","isFullCredit":false},{"lineNumber":12653,"author":{"gitId":"-"},"content":" \"mathml-tag-names\": \"^2.1.3\",","isFullCredit":false},{"lineNumber":12654,"author":{"gitId":"sopa301"},"content":" \"meow\": \"^13.2.0\",","isFullCredit":false},{"lineNumber":12655,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\",","isFullCredit":false},{"lineNumber":12656,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":12657,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12658,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":12659,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":12660,"author":{"gitId":"sopa301"},"content":" \"postcss-safe-parser\": \"^7.0.0\",","isFullCredit":false},{"lineNumber":12661,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.16\",","isFullCredit":false},{"lineNumber":12662,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":12663,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":12664,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\",","isFullCredit":false},{"lineNumber":12665,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^7.1.0\",","isFullCredit":false},{"lineNumber":12666,"author":{"gitId":"sopa301"},"content":" \"supports-hyperlinks\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":12667,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12668,"author":{"gitId":"-"},"content":" \"table\": \"^6.8.1\",","isFullCredit":false},{"lineNumber":12669,"author":{"gitId":"sopa301"},"content":" \"write-file-atomic\": \"^5.0.1\"","isFullCredit":false},{"lineNumber":12670,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12671,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":12672,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"bin/stylelint.mjs\"","isFullCredit":false},{"lineNumber":12673,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12674,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12675,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12677,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12678,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":12679,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/stylelint\"","isFullCredit":false},{"lineNumber":12680,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12681,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12682,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-html\": {","isFullCredit":false},{"lineNumber":12683,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":12684,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12685,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12686,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12687,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":12688,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12689,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12690,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\"","isFullCredit":false},{"lineNumber":12691,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12692,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12693,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12694,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":12695,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12697,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended\": {","isFullCredit":false},{"lineNumber":12698,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\",","isFullCredit":false},{"lineNumber":12699,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz\",","isFullCredit":false},{"lineNumber":12700,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":12701,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12702,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12703,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12704,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12705,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12706,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.0\"","isFullCredit":false},{"lineNumber":12707,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12708,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12709,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-scss\": {","isFullCredit":false},{"lineNumber":12710,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\",","isFullCredit":false},{"lineNumber":12711,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz\",","isFullCredit":false},{"lineNumber":12712,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12713,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12714,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12715,"author":{"gitId":"sopa301"},"content":" \"postcss-scss\": \"^4.0.9\",","isFullCredit":false},{"lineNumber":12716,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":12717,"author":{"gitId":"sopa301"},"content":" \"stylelint-scss\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":12718,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12719,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12720,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12721,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12722,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12723,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\",","isFullCredit":false},{"lineNumber":12724,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":12725,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12726,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":12727,"author":{"gitId":"sopa301"},"content":" \"postcss\": {","isFullCredit":false},{"lineNumber":12728,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12729,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12730,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12731,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12732,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue\": {","isFullCredit":false},{"lineNumber":12733,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\",","isFullCredit":false},{"lineNumber":12734,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12735,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":12736,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12737,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\",","isFullCredit":false},{"lineNumber":12738,"author":{"gitId":"-"},"content":" \"stylelint-config-html\": \"\u003e\u003d1.0.0\",","isFullCredit":false},{"lineNumber":12739,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":12740,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12741,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12742,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\"","isFullCredit":false},{"lineNumber":12743,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12744,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12745,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\"","isFullCredit":false},{"lineNumber":12746,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12747,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12748,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12749,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\"","isFullCredit":false},{"lineNumber":12750,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12751,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12752,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":12753,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":12754,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12755,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":12756,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12757,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":12758,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12759,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12760,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":12761,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12762,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12763,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/semver\": {","isFullCredit":false},{"lineNumber":12764,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":12765,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12766,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":12767,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12768,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":12769,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12770,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":12771,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":12772,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12773,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12774,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":12775,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12776,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12777,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":12778,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":12779,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12780,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":12781,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12782,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard\": {","isFullCredit":false},{"lineNumber":12783,"author":{"gitId":"sopa301"},"content":" \"version\": \"36.0.0\",","isFullCredit":false},{"lineNumber":12784,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz\",","isFullCredit":false},{"lineNumber":12785,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug\u003d\u003d\",","isFullCredit":false},{"lineNumber":12786,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12787,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12788,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\"","isFullCredit":false},{"lineNumber":12789,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12790,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12791,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12792,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12793,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12794,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\"","isFullCredit":false},{"lineNumber":12795,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12796,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12797,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard-scss\": {","isFullCredit":false},{"lineNumber":12798,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.1.0\",","isFullCredit":false},{"lineNumber":12799,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz\",","isFullCredit":false},{"lineNumber":12800,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA\u003d\u003d\",","isFullCredit":false},{"lineNumber":12801,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12802,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12803,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-scss\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":12804,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\"","isFullCredit":false},{"lineNumber":12805,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12806,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12807,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12808,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12809,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12810,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\",","isFullCredit":false},{"lineNumber":12811,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.3.1\"","isFullCredit":false},{"lineNumber":12812,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12813,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":12814,"author":{"gitId":"sopa301"},"content":" \"postcss\": {","isFullCredit":false},{"lineNumber":12815,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":12816,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12817,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12818,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12819,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-order\": {","isFullCredit":false},{"lineNumber":12820,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\",","isFullCredit":false},{"lineNumber":12821,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz\",","isFullCredit":false},{"lineNumber":12822,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA\u003d\u003d\",","isFullCredit":false},{"lineNumber":12823,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12824,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12825,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.32\",","isFullCredit":false},{"lineNumber":12826,"author":{"gitId":"sopa301"},"content":" \"postcss-sorting\": \"^8.0.2\"","isFullCredit":false},{"lineNumber":12827,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12828,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12829,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^14.0.0 || ^15.0.0 || ^16.0.1\"","isFullCredit":false},{"lineNumber":12830,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12831,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12832,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-scss\": {","isFullCredit":false},{"lineNumber":12833,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\",","isFullCredit":false},{"lineNumber":12834,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.2.1.tgz\",","isFullCredit":false},{"lineNumber":12835,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12836,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12837,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12838,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.29.0\",","isFullCredit":false},{"lineNumber":12839,"author":{"gitId":"-"},"content":" \"postcss-media-query-parser\": \"^0.2.3\",","isFullCredit":false},{"lineNumber":12840,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\",","isFullCredit":false},{"lineNumber":12841,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\",","isFullCredit":false},{"lineNumber":12842,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":12843,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12844,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12845,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\"","isFullCredit":false},{"lineNumber":12846,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12847,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12848,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\"","isFullCredit":false},{"lineNumber":12849,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12850,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12851,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-scss/node_modules/known-css-properties\": {","isFullCredit":false},{"lineNumber":12852,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.29.0\",","isFullCredit":false},{"lineNumber":12853,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz\",","isFullCredit":false},{"lineNumber":12854,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":12855,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":12856,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12857,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin\": {","isFullCredit":false},{"lineNumber":12858,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":12859,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-5.0.0.tgz\",","isFullCredit":false},{"lineNumber":12860,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f56OmfvIYfZpL5+TKg3LZ+Ehzoar5GAwytUtsdti+W6WhR3UpQC36vmXHsKxx9ibj7dKXCIKea6w0U+LdVSBmg\u003d\u003d\",","isFullCredit":false},{"lineNumber":12861,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12862,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12863,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\",","isFullCredit":false},{"lineNumber":12864,"author":{"gitId":"sopa301"},"content":" \"jest-worker\": \"^29.7.0\",","isFullCredit":false},{"lineNumber":12865,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\",","isFullCredit":false},{"lineNumber":12866,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":12867,"author":{"gitId":"sopa301"},"content":" \"schema-utils\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":12868,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12869,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12870,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 18.12.0\"","isFullCredit":false},{"lineNumber":12871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12872,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12873,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":12874,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":12875,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12876,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12877,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0\",","isFullCredit":false},{"lineNumber":12878,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":12879,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12880,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12881,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":12882,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":12883,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz\",","isFullCredit":false},{"lineNumber":12884,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA\u003d\u003d\",","isFullCredit":false},{"lineNumber":12885,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12886,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12887,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":12888,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":12889,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":12890,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":12891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12892,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12893,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":12894,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":12895,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12896,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12897,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":12898,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":12899,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",","isFullCredit":false},{"lineNumber":12900,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12901,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12902,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12903,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":12904,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12905,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":12906,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":12907,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12908,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12909,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":12910,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":12911,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":12912,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":12913,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12914,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":12916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12917,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12918,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/jest-worker\": {","isFullCredit":false},{"lineNumber":12919,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.7.0\",","isFullCredit":false},{"lineNumber":12920,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz\",","isFullCredit":false},{"lineNumber":12921,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12922,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12923,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12924,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\",","isFullCredit":false},{"lineNumber":12925,"author":{"gitId":"sopa301"},"content":" \"jest-util\": \"^29.7.0\",","isFullCredit":false},{"lineNumber":12926,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":12927,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\"","isFullCredit":false},{"lineNumber":12928,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12929,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12930,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":12931,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12933,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":12934,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":12935,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",","isFullCredit":false},{"lineNumber":12936,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug\u003d\u003d\",","isFullCredit":false},{"lineNumber":12937,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":12938,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12939,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":12940,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.0\",","isFullCredit":false},{"lineNumber":12941,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",","isFullCredit":false},{"lineNumber":12942,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw\u003d\u003d\",","isFullCredit":false},{"lineNumber":12943,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12944,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12945,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":12946,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.9.0\",","isFullCredit":false},{"lineNumber":12947,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":12948,"author":{"gitId":"sopa301"},"content":" \"ajv-keywords\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":12949,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12950,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12951,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":12952,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12953,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12954,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":12955,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":12956,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12957,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12958,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":12959,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\",","isFullCredit":false},{"lineNumber":12960,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",","isFullCredit":false},{"lineNumber":12961,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\",","isFullCredit":false},{"lineNumber":12962,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12963,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12964,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":12965,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12966,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12967,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":12968,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12969,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12970,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":12971,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":12972,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12973,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/ansi-regex\": {","isFullCredit":false},{"lineNumber":12974,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\",","isFullCredit":false},{"lineNumber":12975,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz\",","isFullCredit":false},{"lineNumber":12976,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA\u003d\u003d\",","isFullCredit":false},{"lineNumber":12977,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12978,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":12979,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":12980,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12981,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":12982,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-regex?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":12983,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":12984,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":12985,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/balanced-match\": {","isFullCredit":false},{"lineNumber":12986,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":12987,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":12989,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":12990,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/cosmiconfig\": {","isFullCredit":false},{"lineNumber":12991,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.0\",","isFullCredit":false},{"lineNumber":12992,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz\",","isFullCredit":false},{"lineNumber":12993,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg\u003d\u003d\",","isFullCredit":false},{"lineNumber":12994,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":12995,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":12996,"author":{"gitId":"sopa301"},"content":" \"env-paths\": \"^2.2.1\",","isFullCredit":false},{"lineNumber":12997,"author":{"gitId":"sopa301"},"content":" \"import-fresh\": \"^3.3.0\",","isFullCredit":false},{"lineNumber":12998,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":12999,"author":{"gitId":"sopa301"},"content":" \"parse-json\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":13000,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13001,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13002,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\"","isFullCredit":false},{"lineNumber":13003,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13004,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13005,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/d-fischer\"","isFullCredit":false},{"lineNumber":13006,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13007,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13008,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.9.5\"","isFullCredit":false},{"lineNumber":13009,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13010,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":13011,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":13012,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":13013,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13014,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13015,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13016,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/css-tree\": {","isFullCredit":false},{"lineNumber":13017,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\",","isFullCredit":false},{"lineNumber":13018,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz\",","isFullCredit":false},{"lineNumber":13019,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw\u003d\u003d\",","isFullCredit":false},{"lineNumber":13020,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13021,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13022,"author":{"gitId":"sopa301"},"content":" \"mdn-data\": \"2.0.30\",","isFullCredit":false},{"lineNumber":13023,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.1\"","isFullCredit":false},{"lineNumber":13024,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13025,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13026,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10 || ^12.20.0 || ^14.13.0 || \u003e\u003d15.0.0\"","isFullCredit":false},{"lineNumber":13027,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13028,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13029,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/file-entry-cache\": {","isFullCredit":false},{"lineNumber":13030,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\",","isFullCredit":false},{"lineNumber":13031,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz\",","isFullCredit":false},{"lineNumber":13032,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":13033,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13034,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13035,"author":{"gitId":"sopa301"},"content":" \"flat-cache\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":13036,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13037,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13038,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":13039,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13040,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13041,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/flat-cache\": {","isFullCredit":false},{"lineNumber":13042,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\",","isFullCredit":false},{"lineNumber":13043,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz\",","isFullCredit":false},{"lineNumber":13044,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw\u003d\u003d\",","isFullCredit":false},{"lineNumber":13045,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13046,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13047,"author":{"gitId":"sopa301"},"content":" \"flatted\": \"^3.2.9\",","isFullCredit":false},{"lineNumber":13048,"author":{"gitId":"sopa301"},"content":" \"keyv\": \"^4.5.4\"","isFullCredit":false},{"lineNumber":13049,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13050,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13051,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16\"","isFullCredit":false},{"lineNumber":13052,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13053,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13054,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/mdn-data\": {","isFullCredit":false},{"lineNumber":13055,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.30\",","isFullCredit":false},{"lineNumber":13056,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz\",","isFullCredit":false},{"lineNumber":13057,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA\u003d\u003d\",","isFullCredit":false},{"lineNumber":13058,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":13059,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13060,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/postcss-safe-parser\": {","isFullCredit":false},{"lineNumber":13061,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":13062,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz\",","isFullCredit":false},{"lineNumber":13063,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg\u003d\u003d\",","isFullCredit":false},{"lineNumber":13064,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13065,"author":{"gitId":"sopa301"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":13066,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":13067,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13068,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\"","isFullCredit":false},{"lineNumber":13069,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13070,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":13071,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":13072,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-safe-parser\"","isFullCredit":false},{"lineNumber":13073,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13074,"author":{"gitId":"sopa301"},"content":" {","isFullCredit":false},{"lineNumber":13075,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":13076,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\"","isFullCredit":false},{"lineNumber":13077,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13078,"author":{"gitId":"sopa301"},"content":" ],","isFullCredit":false},{"lineNumber":13079,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13080,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.0\"","isFullCredit":false},{"lineNumber":13081,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13082,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13083,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.31\"","isFullCredit":false},{"lineNumber":13084,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13085,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13086,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/resolve-from\": {","isFullCredit":false},{"lineNumber":13087,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":13088,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13089,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13090,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13091,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13092,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13093,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13094,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/strip-ansi\": {","isFullCredit":false},{"lineNumber":13095,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.1.0\",","isFullCredit":false},{"lineNumber":13096,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",","isFullCredit":false},{"lineNumber":13097,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":13098,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13099,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13100,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":13101,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13102,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13103,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":13104,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13105,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13106,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/strip-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13107,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13108,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13109,"author":{"gitId":"-"},"content":" \"node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":13110,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\",","isFullCredit":false},{"lineNumber":13111,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13112,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13113,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13114,"author":{"gitId":"-"},"content":" \"has-flag\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":13115,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13116,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13119,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13120,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks\": {","isFullCredit":false},{"lineNumber":13121,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":13122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz\",","isFullCredit":false},{"lineNumber":13123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA\u003d\u003d\",","isFullCredit":false},{"lineNumber":13124,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13125,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13126,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":13127,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":13128,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13129,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13130,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.18\"","isFullCredit":false},{"lineNumber":13131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13132,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13133,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":13134,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":13135,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":13136,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":13137,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13138,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13139,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13141,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13142,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":13143,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":13144,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",","isFullCredit":false},{"lineNumber":13145,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":13146,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13147,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13148,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":13149,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13150,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13151,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13152,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13153,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13154,"author":{"gitId":"-"},"content":" \"node_modules/supports-preserve-symlinks-flag\": {","isFullCredit":false},{"lineNumber":13155,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":13156,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13157,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13158,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":13159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13160,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13161,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":13162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13164,"author":{"gitId":"-"},"content":" \"node_modules/svg-tags\": {","isFullCredit":false},{"lineNumber":13165,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":13166,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":13167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13168,"author":{"gitId":"-"},"content":" \"node_modules/svgo\": {","isFullCredit":false},{"lineNumber":13169,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\",","isFullCredit":false},{"lineNumber":13170,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13171,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13172,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13173,"author":{"gitId":"-"},"content":" \"@trysound/sax\": \"0.2.0\",","isFullCredit":false},{"lineNumber":13174,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\",","isFullCredit":false},{"lineNumber":13175,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\",","isFullCredit":false},{"lineNumber":13176,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.3\",","isFullCredit":false},{"lineNumber":13177,"author":{"gitId":"-"},"content":" \"csso\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":13178,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":13179,"author":{"gitId":"-"},"content":" \"stable\": \"^0.1.8\"","isFullCredit":false},{"lineNumber":13180,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13181,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13182,"author":{"gitId":"-"},"content":" \"svgo\": \"bin/svgo\"","isFullCredit":false},{"lineNumber":13183,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13184,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13185,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":13186,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13187,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13188,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/commander\": {","isFullCredit":false},{"lineNumber":13189,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":13190,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13191,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13192,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13193,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\"","isFullCredit":false},{"lineNumber":13194,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13195,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13196,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/css-select\": {","isFullCredit":false},{"lineNumber":13197,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":13198,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13199,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13200,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13201,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":13202,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\",","isFullCredit":false},{"lineNumber":13203,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\",","isFullCredit":false},{"lineNumber":13204,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\",","isFullCredit":false},{"lineNumber":13205,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":13206,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13207,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13208,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\"","isFullCredit":false},{"lineNumber":13209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13210,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13211,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/dom-serializer\": {","isFullCredit":false},{"lineNumber":13212,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\",","isFullCredit":false},{"lineNumber":13213,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13214,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13215,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13216,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":13217,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":13218,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":13219,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13220,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13221,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13223,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13224,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domhandler\": {","isFullCredit":false},{"lineNumber":13225,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\",","isFullCredit":false},{"lineNumber":13226,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13227,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13228,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13229,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\"","isFullCredit":false},{"lineNumber":13230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13231,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13232,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\"","isFullCredit":false},{"lineNumber":13233,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13234,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13235,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13237,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13238,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domutils\": {","isFullCredit":false},{"lineNumber":13239,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\",","isFullCredit":false},{"lineNumber":13240,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13241,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13242,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13243,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":13244,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\",","isFullCredit":false},{"lineNumber":13245,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\"","isFullCredit":false},{"lineNumber":13246,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13247,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13248,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13249,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13250,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13251,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/entities\": {","isFullCredit":false},{"lineNumber":13252,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\",","isFullCredit":false},{"lineNumber":13253,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13254,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13255,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13256,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13259,"author":{"gitId":"-"},"content":" \"node_modules/table\": {","isFullCredit":false},{"lineNumber":13260,"author":{"gitId":"-"},"content":" \"version\": \"6.8.1\",","isFullCredit":false},{"lineNumber":13261,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13262,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\",","isFullCredit":false},{"lineNumber":13263,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13264,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":13265,"author":{"gitId":"-"},"content":" \"lodash.truncate\": \"^4.4.2\",","isFullCredit":false},{"lineNumber":13266,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":13267,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\",","isFullCredit":false},{"lineNumber":13268,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\"","isFullCredit":false},{"lineNumber":13269,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13270,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13271,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":13272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13273,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13274,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":13275,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":13276,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13277,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13278,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13279,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":13280,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":13281,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":13282,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":13283,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13284,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13285,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":13286,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":13287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13288,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13289,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":13290,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":13291,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13292,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13293,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13294,"author":{"gitId":"-"},"content":" \"node_modules/tapable\": {","isFullCredit":false},{"lineNumber":13295,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\",","isFullCredit":false},{"lineNumber":13296,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13297,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13298,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13299,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":13300,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13301,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13302,"author":{"gitId":"-"},"content":" \"node_modules/terser\": {","isFullCredit":false},{"lineNumber":13303,"author":{"gitId":"-"},"content":" \"version\": \"5.16.1\",","isFullCredit":false},{"lineNumber":13304,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13305,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13306,"author":{"gitId":"-"},"content":" \"@jridgewell/source-map\": \"^0.3.2\",","isFullCredit":false},{"lineNumber":13307,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.5.0\",","isFullCredit":false},{"lineNumber":13308,"author":{"gitId":"-"},"content":" \"commander\": \"^2.20.0\",","isFullCredit":false},{"lineNumber":13309,"author":{"gitId":"-"},"content":" \"source-map-support\": \"~0.5.20\"","isFullCredit":false},{"lineNumber":13310,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13311,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13312,"author":{"gitId":"-"},"content":" \"terser\": \"bin/terser\"","isFullCredit":false},{"lineNumber":13313,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13314,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13315,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13317,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13318,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin\": {","isFullCredit":false},{"lineNumber":13319,"author":{"gitId":"-"},"content":" \"version\": \"5.3.6\",","isFullCredit":false},{"lineNumber":13320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13321,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13322,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.14\",","isFullCredit":false},{"lineNumber":13323,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.4.5\",","isFullCredit":false},{"lineNumber":13324,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":13325,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":13326,"author":{"gitId":"-"},"content":" \"terser\": \"^5.14.1\"","isFullCredit":false},{"lineNumber":13327,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13328,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13329,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":13330,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13331,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13332,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13333,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":13334,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13335,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13336,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\"","isFullCredit":false},{"lineNumber":13337,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13338,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":13339,"author":{"gitId":"-"},"content":" \"@swc/core\": {","isFullCredit":false},{"lineNumber":13340,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":13341,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13342,"author":{"gitId":"-"},"content":" \"esbuild\": {","isFullCredit":false},{"lineNumber":13343,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":13344,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13345,"author":{"gitId":"-"},"content":" \"uglify-js\": {","isFullCredit":false},{"lineNumber":13346,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":13347,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13348,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13349,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13350,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":13351,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":13352,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13353,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13354,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":13355,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":13356,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":13357,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13358,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13359,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":13360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13361,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13362,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13363,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":13364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13365,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13366,"author":{"gitId":"-"},"content":" \"node_modules/terser/node_modules/commander\": {","isFullCredit":false},{"lineNumber":13367,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\",","isFullCredit":false},{"lineNumber":13368,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13369,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13370,"author":{"gitId":"-"},"content":" \"node_modules/text-table\": {","isFullCredit":false},{"lineNumber":13371,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\",","isFullCredit":false},{"lineNumber":13372,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13373,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13374,"author":{"gitId":"-"},"content":" \"node_modules/thenify\": {","isFullCredit":false},{"lineNumber":13375,"author":{"gitId":"-"},"content":" \"version\": \"3.3.1\",","isFullCredit":false},{"lineNumber":13376,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13377,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13378,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13379,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":13380,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13381,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13382,"author":{"gitId":"-"},"content":" \"node_modules/thenify-all\": {","isFullCredit":false},{"lineNumber":13383,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\",","isFullCredit":false},{"lineNumber":13384,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13385,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13386,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13387,"author":{"gitId":"-"},"content":" \"thenify\": \"\u003e\u003d 3.1.0 \u003c 4\"","isFullCredit":false},{"lineNumber":13388,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13389,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13390,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\"","isFullCredit":false},{"lineNumber":13391,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13392,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13393,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader\": {","isFullCredit":false},{"lineNumber":13394,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":13395,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13396,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13397,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13398,"author":{"gitId":"-"},"content":" \"json-parse-better-errors\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":13399,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":13400,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":13401,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\",","isFullCredit":false},{"lineNumber":13402,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":13403,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13404,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":13406,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13407,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13408,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13409,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":13410,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13411,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13412,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.27.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":13413,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13415,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/loader-utils\": {","isFullCredit":false},{"lineNumber":13416,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\",","isFullCredit":false},{"lineNumber":13417,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13418,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13419,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13420,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\",","isFullCredit":false},{"lineNumber":13421,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":13422,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\"","isFullCredit":false},{"lineNumber":13423,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13424,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13425,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\"","isFullCredit":false},{"lineNumber":13426,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13427,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13428,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":13429,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":13430,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13431,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13432,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13433,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":13434,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":13435,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":13436,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13437,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13438,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":13439,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13440,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13441,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13442,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":13443,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13444,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13445,"author":{"gitId":"-"},"content":" \"node_modules/thunky\": {","isFullCredit":false},{"lineNumber":13446,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":13447,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13448,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13450,"author":{"gitId":"-"},"content":" \"node_modules/to-fast-properties\": {","isFullCredit":false},{"lineNumber":13451,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":13452,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13453,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13454,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13455,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13456,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13457,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13458,"author":{"gitId":"-"},"content":" \"node_modules/to-regex-range\": {","isFullCredit":false},{"lineNumber":13459,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":13460,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13461,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13462,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13463,"author":{"gitId":"-"},"content":" \"is-number\": \"^7.0.0\"","isFullCredit":false},{"lineNumber":13464,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13465,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13466,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0\"","isFullCredit":false},{"lineNumber":13467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13468,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13469,"author":{"gitId":"-"},"content":" \"node_modules/toidentifier\": {","isFullCredit":false},{"lineNumber":13470,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":13471,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13472,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13473,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\"","isFullCredit":false},{"lineNumber":13475,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13476,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13477,"author":{"gitId":"-"},"content":" \"node_modules/token-stream\": {","isFullCredit":false},{"lineNumber":13478,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":13479,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13480,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13481,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13482,"author":{"gitId":"-"},"content":" \"node_modules/totalist\": {","isFullCredit":false},{"lineNumber":13483,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\",","isFullCredit":false},{"lineNumber":13484,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13485,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13486,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13487,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":13488,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13489,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13490,"author":{"gitId":"-"},"content":" \"node_modules/tr46\": {","isFullCredit":false},{"lineNumber":13491,"author":{"gitId":"-"},"content":" \"version\": \"0.0.3\",","isFullCredit":false},{"lineNumber":13492,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13493,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13494,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13495,"author":{"gitId":"-"},"content":" \"node_modules/ts-api-utils\": {","isFullCredit":false},{"lineNumber":13496,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\",","isFullCredit":false},{"lineNumber":13497,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz\",","isFullCredit":false},{"lineNumber":13498,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":13499,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13500,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13501,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d16\"","isFullCredit":false},{"lineNumber":13502,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13503,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13504,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d4.2.0\"","isFullCredit":false},{"lineNumber":13505,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13506,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13507,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader\": {","isFullCredit":false},{"lineNumber":13508,"author":{"gitId":"-"},"content":" \"version\": \"9.4.2\",","isFullCredit":false},{"lineNumber":13509,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13510,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13511,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13512,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":13513,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":13514,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":13515,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\"","isFullCredit":false},{"lineNumber":13516,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13517,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13518,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\"","isFullCredit":false},{"lineNumber":13519,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13520,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13521,"author":{"gitId":"-"},"content":" \"typescript\": \"*\",","isFullCredit":false},{"lineNumber":13522,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":13523,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13524,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13525,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":13526,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":13527,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13528,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13529,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13530,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":13531,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13532,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13533,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13534,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13535,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13536,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13537,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13538,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13539,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":13540,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":13541,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13542,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13543,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13544,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":13545,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":13546,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13547,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13548,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13549,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13550,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13551,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":13552,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13553,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13554,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":13555,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":13556,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13557,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13558,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13559,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":13560,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13561,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13562,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":13563,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13564,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13565,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":13566,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":13567,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13568,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13569,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13570,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":13571,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":13572,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13573,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13574,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13575,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13576,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13577,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13578,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":13579,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":13580,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13581,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":13582,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13583,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":13584,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13585,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13586,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13587,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13588,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13589,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/semver\": {","isFullCredit":false},{"lineNumber":13590,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":13591,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13592,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":13593,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13594,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":13595,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13596,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13597,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":13598,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13599,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13600,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13601,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13602,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13603,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":13604,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":13605,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13606,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13607,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13608,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":13609,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13610,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13611,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":13612,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13613,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13614,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":13615,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":13616,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13617,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":13618,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13619,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths\": {","isFullCredit":false},{"lineNumber":13620,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.15.0\",","isFullCredit":false},{"lineNumber":13621,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13622,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13623,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13624,"author":{"gitId":"-"},"content":" \"@types/json5\": \"^0.0.29\",","isFullCredit":false},{"lineNumber":13625,"author":{"gitId":"sopa301"},"content":" \"json5\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":13626,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\",","isFullCredit":false},{"lineNumber":13627,"author":{"gitId":"-"},"content":" \"strip-bom\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":13628,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13629,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13630,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths/node_modules/json5\": {","isFullCredit":false},{"lineNumber":13631,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":13632,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13633,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13634,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13635,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\"","isFullCredit":false},{"lineNumber":13636,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13637,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13638,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\"","isFullCredit":false},{"lineNumber":13639,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13640,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13641,"author":{"gitId":"-"},"content":" \"node_modules/tslib\": {","isFullCredit":false},{"lineNumber":13642,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\",","isFullCredit":false},{"lineNumber":13643,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13644,"author":{"gitId":"-"},"content":" \"license\": \"0BSD\"","isFullCredit":false},{"lineNumber":13645,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13646,"author":{"gitId":"-"},"content":" \"node_modules/type-check\": {","isFullCredit":false},{"lineNumber":13647,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":13648,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13649,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13650,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13651,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\"","isFullCredit":false},{"lineNumber":13652,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13653,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13654,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\"","isFullCredit":false},{"lineNumber":13655,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13657,"author":{"gitId":"-"},"content":" \"node_modules/type-fest\": {","isFullCredit":false},{"lineNumber":13658,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.20.2\",","isFullCredit":false},{"lineNumber":13659,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",","isFullCredit":false},{"lineNumber":13660,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":13661,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13662,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13664,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13665,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13666,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":13667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13669,"author":{"gitId":"-"},"content":" \"node_modules/type-is\": {","isFullCredit":false},{"lineNumber":13670,"author":{"gitId":"-"},"content":" \"version\": \"1.6.18\",","isFullCredit":false},{"lineNumber":13671,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13672,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13673,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13674,"author":{"gitId":"-"},"content":" \"media-typer\": \"0.3.0\",","isFullCredit":false},{"lineNumber":13675,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.24\"","isFullCredit":false},{"lineNumber":13676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13677,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13678,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\"","isFullCredit":false},{"lineNumber":13679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13680,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13681,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-buffer\": {","isFullCredit":false},{"lineNumber":13682,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":13683,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13684,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13685,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13686,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":13687,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\",","isFullCredit":false},{"lineNumber":13688,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":13689,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13690,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13691,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":13692,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13693,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13694,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-length\": {","isFullCredit":false},{"lineNumber":13695,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":13696,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13697,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13698,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13699,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":13700,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":13701,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":13702,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":13703,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":13704,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13705,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13706,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":13707,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13708,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13709,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":13710,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13711,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13712,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-offset\": {","isFullCredit":false},{"lineNumber":13713,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":13714,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13715,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13716,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13717,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":13718,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":13719,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":13720,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":13721,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":13722,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\"","isFullCredit":false},{"lineNumber":13723,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13724,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13725,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":13726,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13727,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13728,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":13729,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13730,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13731,"author":{"gitId":"-"},"content":" \"node_modules/typed-array-length\": {","isFullCredit":false},{"lineNumber":13732,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\",","isFullCredit":false},{"lineNumber":13733,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13734,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13735,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13736,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":13737,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":13738,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":13739,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":13740,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\",","isFullCredit":false},{"lineNumber":13741,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":13742,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13743,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13744,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":13745,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13746,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13747,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":13748,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13749,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13750,"author":{"gitId":"-"},"content":" \"node_modules/typescript\": {","isFullCredit":false},{"lineNumber":13751,"author":{"gitId":"-"},"content":" \"version\": \"4.9.5\",","isFullCredit":false},{"lineNumber":13752,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,","isFullCredit":false},{"lineNumber":13753,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":13754,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13755,"author":{"gitId":"-"},"content":" \"tsc\": \"bin/tsc\",","isFullCredit":false},{"lineNumber":13756,"author":{"gitId":"-"},"content":" \"tsserver\": \"bin/tsserver\"","isFullCredit":false},{"lineNumber":13757,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13758,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13759,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.2.0\"","isFullCredit":false},{"lineNumber":13760,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13761,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13762,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint\": {","isFullCredit":false},{"lineNumber":13763,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13764,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":13765,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wZZ+7mTQJCn4mGAvzdERtL4vwKGM/mF9cMSMeKUllz3Hgbd1Mdd5L60Q+nJmCio9RB4OyMMr0EX4Ry2Q7jiAyw\u003d\u003d\",","isFullCredit":false},{"lineNumber":13766,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13767,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13768,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13769,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13770,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"7.7.0\"","isFullCredit":false},{"lineNumber":13771,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13772,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13773,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":13774,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13775,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13776,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13777,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":13778,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13779,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13780,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":13781,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13782,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":13783,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":13784,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":13785,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13786,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13787,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13788,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/@typescript-eslint/utils\": {","isFullCredit":false},{"lineNumber":13789,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13790,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz\",","isFullCredit":false},{"lineNumber":13791,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig\u003d\u003d\",","isFullCredit":false},{"lineNumber":13792,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13793,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13794,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\",","isFullCredit":false},{"lineNumber":13795,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.15\",","isFullCredit":false},{"lineNumber":13796,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.8\",","isFullCredit":false},{"lineNumber":13797,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13798,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13799,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"7.7.0\",","isFullCredit":false},{"lineNumber":13800,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.6.0\"","isFullCredit":false},{"lineNumber":13801,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13802,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13803,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.18.0 || \u003e\u003d20.0.0\"","isFullCredit":false},{"lineNumber":13804,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13805,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13806,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13807,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\"","isFullCredit":false},{"lineNumber":13808,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13809,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13810,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.56.0\"","isFullCredit":false},{"lineNumber":13811,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":13812,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13813,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":13814,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":13815,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":13816,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":13817,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13818,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13819,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":13820,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13821,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13822,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13823,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13824,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13825,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/semver\": {","isFullCredit":false},{"lineNumber":13826,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":13827,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":13828,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":13829,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13830,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13831,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":13832,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13833,"author":{"gitId":"sopa301"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13834,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":13835,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":13836,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13837,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":13838,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13839,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13840,"author":{"gitId":"sopa301"},"content":" \"node_modules/typescript-eslint/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":13841,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":13842,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":13843,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":13844,"author":{"gitId":"sopa301"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":13845,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13846,"author":{"gitId":"sopa301"},"content":" \"node_modules/uc.micro\": {","isFullCredit":false},{"lineNumber":13847,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":13848,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13849,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13850,"author":{"gitId":"-"},"content":" \"node_modules/unbox-primitive\": {","isFullCredit":false},{"lineNumber":13851,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":13852,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13853,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13854,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13855,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":13856,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":13857,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\",","isFullCredit":false},{"lineNumber":13858,"author":{"gitId":"-"},"content":" \"which-boxed-primitive\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":13859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13860,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":13861,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":13862,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13863,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13864,"author":{"gitId":"-"},"content":" \"node_modules/unicode-canonical-property-names-ecmascript\": {","isFullCredit":false},{"lineNumber":13865,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":13866,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13867,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13868,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13869,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13870,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13871,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13872,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-ecmascript\": {","isFullCredit":false},{"lineNumber":13873,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":13874,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13875,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13876,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13877,"author":{"gitId":"-"},"content":" \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":13878,"author":{"gitId":"-"},"content":" \"unicode-property-aliases-ecmascript\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":13879,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13880,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13881,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13882,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13883,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13884,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-value-ecmascript\": {","isFullCredit":false},{"lineNumber":13885,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":13886,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13887,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13888,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13889,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13890,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13891,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13892,"author":{"gitId":"-"},"content":" \"node_modules/unicode-property-aliases-ecmascript\": {","isFullCredit":false},{"lineNumber":13893,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\",","isFullCredit":false},{"lineNumber":13894,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13895,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13896,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13897,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":13898,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13899,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13900,"author":{"gitId":"-"},"content":" \"node_modules/universalify\": {","isFullCredit":false},{"lineNumber":13901,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":13902,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13903,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13904,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13905,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":13906,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13907,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13908,"author":{"gitId":"-"},"content":" \"node_modules/unpipe\": {","isFullCredit":false},{"lineNumber":13909,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":13910,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13911,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13912,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13913,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":13914,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13915,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13916,"author":{"gitId":"-"},"content":" \"node_modules/update-browserslist-db\": {","isFullCredit":false},{"lineNumber":13917,"author":{"gitId":"-"},"content":" \"version\": \"1.0.10\",","isFullCredit":false},{"lineNumber":13918,"author":{"gitId":"-"},"content":" \"funding\": [","isFullCredit":false},{"lineNumber":13919,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":13920,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":13921,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\"","isFullCredit":false},{"lineNumber":13922,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13923,"author":{"gitId":"-"},"content":" {","isFullCredit":false},{"lineNumber":13924,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\",","isFullCredit":false},{"lineNumber":13925,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"","isFullCredit":false},{"lineNumber":13926,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13927,"author":{"gitId":"-"},"content":" ],","isFullCredit":false},{"lineNumber":13928,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13929,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13930,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":13931,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":13932,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13933,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":13934,"author":{"gitId":"-"},"content":" \"browserslist-lint\": \"cli.js\"","isFullCredit":false},{"lineNumber":13935,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13936,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":13937,"author":{"gitId":"-"},"content":" \"browserslist\": \"\u003e\u003d 4.21.0\"","isFullCredit":false},{"lineNumber":13938,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13939,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13940,"author":{"gitId":"-"},"content":" \"node_modules/uri-js\": {","isFullCredit":false},{"lineNumber":13941,"author":{"gitId":"-"},"content":" \"version\": \"4.4.1\",","isFullCredit":false},{"lineNumber":13942,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\",","isFullCredit":false},{"lineNumber":13943,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13944,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.0\"","isFullCredit":false},{"lineNumber":13945,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13946,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13947,"author":{"gitId":"-"},"content":" \"node_modules/util-deprecate\": {","isFullCredit":false},{"lineNumber":13948,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":13949,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13950,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13951,"author":{"gitId":"-"},"content":" \"node_modules/utila\": {","isFullCredit":false},{"lineNumber":13952,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\",","isFullCredit":false},{"lineNumber":13953,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13954,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":13955,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13956,"author":{"gitId":"-"},"content":" \"node_modules/utils-merge\": {","isFullCredit":false},{"lineNumber":13957,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":13958,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13959,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13960,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13961,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4.0\"","isFullCredit":false},{"lineNumber":13962,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13963,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13964,"author":{"gitId":"-"},"content":" \"node_modules/validate-npm-package-license\": {","isFullCredit":false},{"lineNumber":13965,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\",","isFullCredit":false},{"lineNumber":13966,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13967,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":13968,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13969,"author":{"gitId":"-"},"content":" \"spdx-correct\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":13970,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":13971,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13972,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13973,"author":{"gitId":"-"},"content":" \"node_modules/vary\": {","isFullCredit":false},{"lineNumber":13974,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\",","isFullCredit":false},{"lineNumber":13975,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13976,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13977,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13978,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\"","isFullCredit":false},{"lineNumber":13979,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13980,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13981,"author":{"gitId":"-"},"content":" \"node_modules/void-elements\": {","isFullCredit":false},{"lineNumber":13982,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\",","isFullCredit":false},{"lineNumber":13983,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":13984,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13985,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":13986,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":13987,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":13988,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13989,"author":{"gitId":"-"},"content":" \"node_modules/vue\": {","isFullCredit":false},{"lineNumber":13990,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\",","isFullCredit":false},{"lineNumber":13991,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":13992,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":13993,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":13994,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"3.4.21\",","isFullCredit":false},{"lineNumber":13995,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-dom\": \"3.4.21\",","isFullCredit":false},{"lineNumber":13996,"author":{"gitId":"sopa301"},"content":" \"@vue/server-renderer\": \"3.4.21\",","isFullCredit":false},{"lineNumber":13997,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\"","isFullCredit":false},{"lineNumber":13998,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":13999,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14000,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"*\"","isFullCredit":false},{"lineNumber":14001,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14002,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14003,"author":{"gitId":"sopa301"},"content":" \"typescript\": {","isFullCredit":false},{"lineNumber":14004,"author":{"gitId":"sopa301"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14005,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14006,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14007,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14008,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser\": {","isFullCredit":false},{"lineNumber":14009,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.4.2\",","isFullCredit":false},{"lineNumber":14010,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz\",","isFullCredit":false},{"lineNumber":14011,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ\u003d\u003d\",","isFullCredit":false},{"lineNumber":14012,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14013,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14014,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\",","isFullCredit":false},{"lineNumber":14015,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^7.1.1\",","isFullCredit":false},{"lineNumber":14016,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\",","isFullCredit":false},{"lineNumber":14017,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.3.1\",","isFullCredit":false},{"lineNumber":14018,"author":{"gitId":"-"},"content":" \"esquery\": \"^1.4.0\",","isFullCredit":false},{"lineNumber":14019,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\",","isFullCredit":false},{"lineNumber":14020,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.6\"","isFullCredit":false},{"lineNumber":14021,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14022,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14023,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":14024,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14025,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14026,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\"","isFullCredit":false},{"lineNumber":14027,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14028,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14029,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d6.0.0\"","isFullCredit":false},{"lineNumber":14030,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14031,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14032,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-scope\": {","isFullCredit":false},{"lineNumber":14033,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\",","isFullCredit":false},{"lineNumber":14034,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",","isFullCredit":false},{"lineNumber":14035,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg\u003d\u003d\",","isFullCredit":false},{"lineNumber":14036,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14037,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14038,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":14039,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\"","isFullCredit":false},{"lineNumber":14040,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14041,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14042,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":14043,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":14044,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14045,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":14046,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14047,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14048,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys\": {","isFullCredit":false},{"lineNumber":14049,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\",","isFullCredit":false},{"lineNumber":14050,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",","isFullCredit":false},{"lineNumber":14051,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\",","isFullCredit":false},{"lineNumber":14052,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14053,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14054,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\"","isFullCredit":false},{"lineNumber":14055,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":14056,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14057,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\"","isFullCredit":false},{"lineNumber":14058,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14059,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14060,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/estraverse\": {","isFullCredit":false},{"lineNumber":14061,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\",","isFullCredit":false},{"lineNumber":14062,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",","isFullCredit":false},{"lineNumber":14063,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA\u003d\u003d\",","isFullCredit":false},{"lineNumber":14064,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14065,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14066,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\"","isFullCredit":false},{"lineNumber":14067,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14068,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14069,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":14070,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\",","isFullCredit":false},{"lineNumber":14071,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",","isFullCredit":false},{"lineNumber":14072,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\",","isFullCredit":false},{"lineNumber":14073,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14074,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14075,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":14076,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14077,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14078,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14079,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14080,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14081,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/semver\": {","isFullCredit":false},{"lineNumber":14082,"author":{"gitId":"-"},"content":" \"version\": \"7.6.0\",","isFullCredit":false},{"lineNumber":14083,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\",","isFullCredit":false},{"lineNumber":14084,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\",","isFullCredit":false},{"lineNumber":14085,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14086,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14087,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":14088,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14089,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":14090,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\"","isFullCredit":false},{"lineNumber":14091,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14092,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14093,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14094,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14095,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14096,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":14097,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14098,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":14099,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\",","isFullCredit":false},{"lineNumber":14100,"author":{"gitId":"-"},"content":" \"dev\": true","isFullCredit":false},{"lineNumber":14101,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14102,"author":{"gitId":"-"},"content":" \"node_modules/vue-hot-reload-api\": {","isFullCredit":false},{"lineNumber":14103,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\",","isFullCredit":false},{"lineNumber":14104,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14105,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14106,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14107,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader\": {","isFullCredit":false},{"lineNumber":14108,"author":{"gitId":"-"},"content":" \"version\": \"17.4.2\",","isFullCredit":false},{"lineNumber":14109,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14110,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14111,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":14112,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":14113,"author":{"gitId":"-"},"content":" \"watchpack\": \"^2.4.0\"","isFullCredit":false},{"lineNumber":14114,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14115,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14116,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.1.0 || ^5.0.0-0\"","isFullCredit":false},{"lineNumber":14117,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14118,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14119,"author":{"gitId":"-"},"content":" \"@vue/compiler-sfc\": {","isFullCredit":false},{"lineNumber":14120,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14121,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14122,"author":{"gitId":"-"},"content":" \"vue\": {","isFullCredit":false},{"lineNumber":14123,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14124,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14125,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14126,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14127,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":14128,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":14129,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14130,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14131,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":14132,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14133,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14134,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14135,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14136,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14137,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14138,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14139,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14140,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":14141,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":14142,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14143,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14144,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":14145,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":14146,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14147,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14148,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14149,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14150,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14151,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14152,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14153,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14154,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":14155,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":14156,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14157,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14158,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":14159,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14160,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14161,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":14162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14163,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14164,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":14165,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":14166,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14167,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14168,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":14169,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14170,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14171,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14172,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14173,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14174,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14175,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":14176,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":14177,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14178,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14179,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":14180,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14181,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14182,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14184,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14185,"author":{"gitId":"-"},"content":" \"node_modules/vue-loading-overlay\": {","isFullCredit":false},{"lineNumber":14186,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\",","isFullCredit":false},{"lineNumber":14187,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14188,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14189,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.13.0\"","isFullCredit":false},{"lineNumber":14190,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14191,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14192,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":14193,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14194,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14195,"author":{"gitId":"-"},"content":" \"node_modules/vue-observe-visibility\": {","isFullCredit":false},{"lineNumber":14196,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":14197,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14198,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14199,"author":{"gitId":"-"},"content":" \"node_modules/vue-router\": {","isFullCredit":false},{"lineNumber":14200,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":14201,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14202,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14203,"author":{"gitId":"sopa301"},"content":" \"@vue/devtools-api\": \"^6.5.1\"","isFullCredit":false},{"lineNumber":14204,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14205,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14206,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/posva\"","isFullCredit":false},{"lineNumber":14207,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14208,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14209,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":14210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14211,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14212,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader\": {","isFullCredit":false},{"lineNumber":14213,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\",","isFullCredit":false},{"lineNumber":14214,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14215,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14216,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14217,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":14218,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":14219,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14220,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14221,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader/node_modules/hash-sum\": {","isFullCredit":false},{"lineNumber":14222,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":14223,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14224,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14225,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14226,"author":{"gitId":"-"},"content":" \"node_modules/vue-template-es2015-compiler\": {","isFullCredit":false},{"lineNumber":14227,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\",","isFullCredit":false},{"lineNumber":14228,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14229,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14230,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14231,"author":{"gitId":"-"},"content":" \"node_modules/vuex\": {","isFullCredit":false},{"lineNumber":14232,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":14233,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14234,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14235,"author":{"gitId":"-"},"content":" \"@vue/devtools-api\": \"^6.0.0-beta.11\"","isFullCredit":false},{"lineNumber":14236,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14237,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14238,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\"","isFullCredit":false},{"lineNumber":14239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14240,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14241,"author":{"gitId":"-"},"content":" \"node_modules/walk\": {","isFullCredit":false},{"lineNumber":14242,"author":{"gitId":"-"},"content":" \"version\": \"2.3.15\",","isFullCredit":false},{"lineNumber":14243,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR Apache-2.0)\",","isFullCredit":false},{"lineNumber":14244,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14245,"author":{"gitId":"-"},"content":" \"foreachasync\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":14246,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14247,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14248,"author":{"gitId":"-"},"content":" \"node_modules/watchpack\": {","isFullCredit":false},{"lineNumber":14249,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\",","isFullCredit":false},{"lineNumber":14250,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14251,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14252,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":14253,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.2\"","isFullCredit":false},{"lineNumber":14254,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14255,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14256,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":14257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14258,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14259,"author":{"gitId":"-"},"content":" \"node_modules/wbuf\": {","isFullCredit":false},{"lineNumber":14260,"author":{"gitId":"-"},"content":" \"version\": \"1.7.3\",","isFullCredit":false},{"lineNumber":14261,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14262,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14263,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14264,"author":{"gitId":"-"},"content":" \"minimalistic-assert\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":14265,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14266,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14267,"author":{"gitId":"-"},"content":" \"node_modules/wcwidth\": {","isFullCredit":false},{"lineNumber":14268,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\",","isFullCredit":false},{"lineNumber":14269,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14270,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14271,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14272,"author":{"gitId":"-"},"content":" \"defaults\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":14273,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14274,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14275,"author":{"gitId":"-"},"content":" \"node_modules/webidl-conversions\": {","isFullCredit":false},{"lineNumber":14276,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\",","isFullCredit":false},{"lineNumber":14277,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14278,"author":{"gitId":"-"},"content":" \"license\": \"BSD-2-Clause\"","isFullCredit":false},{"lineNumber":14279,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14280,"author":{"gitId":"-"},"content":" \"node_modules/webpack\": {","isFullCredit":false},{"lineNumber":14281,"author":{"gitId":"-"},"content":" \"version\": \"5.76.2\",","isFullCredit":false},{"lineNumber":14282,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14283,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14284,"author":{"gitId":"-"},"content":" \"@types/eslint-scope\": \"^3.7.3\",","isFullCredit":false},{"lineNumber":14285,"author":{"gitId":"-"},"content":" \"@types/estree\": \"^0.0.51\",","isFullCredit":false},{"lineNumber":14286,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\",","isFullCredit":false},{"lineNumber":14287,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-edit\": \"1.11.1\",","isFullCredit":false},{"lineNumber":14288,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\",","isFullCredit":false},{"lineNumber":14289,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.7.1\",","isFullCredit":false},{"lineNumber":14290,"author":{"gitId":"-"},"content":" \"acorn-import-assertions\": \"^1.7.6\",","isFullCredit":false},{"lineNumber":14291,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.14.5\",","isFullCredit":false},{"lineNumber":14292,"author":{"gitId":"-"},"content":" \"chrome-trace-event\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":14293,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.10.0\",","isFullCredit":false},{"lineNumber":14294,"author":{"gitId":"-"},"content":" \"es-module-lexer\": \"^0.9.0\",","isFullCredit":false},{"lineNumber":14295,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\",","isFullCredit":false},{"lineNumber":14296,"author":{"gitId":"-"},"content":" \"events\": \"^3.2.0\",","isFullCredit":false},{"lineNumber":14297,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\",","isFullCredit":false},{"lineNumber":14298,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.9\",","isFullCredit":false},{"lineNumber":14299,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.1\",","isFullCredit":false},{"lineNumber":14300,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":14301,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.27\",","isFullCredit":false},{"lineNumber":14302,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\",","isFullCredit":false},{"lineNumber":14303,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.0\",","isFullCredit":false},{"lineNumber":14304,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":14305,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.3\",","isFullCredit":false},{"lineNumber":14306,"author":{"gitId":"-"},"content":" \"watchpack\": \"^2.4.0\",","isFullCredit":false},{"lineNumber":14307,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"^3.2.3\"","isFullCredit":false},{"lineNumber":14308,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14309,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":14310,"author":{"gitId":"-"},"content":" \"webpack\": \"bin/webpack.js\"","isFullCredit":false},{"lineNumber":14311,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14312,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14313,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":14314,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14315,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14316,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14317,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14318,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14319,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14320,"author":{"gitId":"-"},"content":" \"webpack-cli\": {","isFullCredit":false},{"lineNumber":14321,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14322,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14323,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14324,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14325,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer\": {","isFullCredit":false},{"lineNumber":14326,"author":{"gitId":"-"},"content":" \"version\": \"4.7.0\",","isFullCredit":false},{"lineNumber":14327,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14328,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14329,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14330,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.4\",","isFullCredit":false},{"lineNumber":14331,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.0\",","isFullCredit":false},{"lineNumber":14332,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":14333,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\",","isFullCredit":false},{"lineNumber":14334,"author":{"gitId":"-"},"content":" \"gzip-size\": \"^6.0.0\",","isFullCredit":false},{"lineNumber":14335,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\",","isFullCredit":false},{"lineNumber":14336,"author":{"gitId":"-"},"content":" \"opener\": \"^1.5.2\",","isFullCredit":false},{"lineNumber":14337,"author":{"gitId":"-"},"content":" \"sirv\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":14338,"author":{"gitId":"-"},"content":" \"ws\": \"^7.3.1\"","isFullCredit":false},{"lineNumber":14339,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14340,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":14341,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"lib/bin/analyzer.js\"","isFullCredit":false},{"lineNumber":14342,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14343,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14344,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":14345,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14346,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14347,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":14348,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":14349,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14350,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14351,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14352,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":14353,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14354,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14355,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14356,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14357,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14358,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14359,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14360,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14361,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/chalk\": {","isFullCredit":false},{"lineNumber":14362,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\",","isFullCredit":false},{"lineNumber":14363,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14364,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14365,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14366,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":14367,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\"","isFullCredit":false},{"lineNumber":14368,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14369,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14370,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14371,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14372,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14373,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14374,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14375,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14376,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":14377,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":14378,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14379,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14380,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14381,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":14382,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14383,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14384,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":14385,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14386,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14387,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":14388,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":14389,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14390,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14391,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14392,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/commander\": {","isFullCredit":false},{"lineNumber":14393,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":14394,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14395,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14396,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14397,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\"","isFullCredit":false},{"lineNumber":14398,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14399,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14400,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/has-flag\": {","isFullCredit":false},{"lineNumber":14401,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14402,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14403,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14404,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14406,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14407,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14408,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/supports-color\": {","isFullCredit":false},{"lineNumber":14409,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\",","isFullCredit":false},{"lineNumber":14410,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14411,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14412,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14413,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":14414,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14415,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14417,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14418,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14419,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain\": {","isFullCredit":false},{"lineNumber":14420,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\",","isFullCredit":false},{"lineNumber":14421,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14422,"author":{"gitId":"-"},"content":" \"license\": \"MPL-2.0\",","isFullCredit":false},{"lineNumber":14423,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14424,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^1.5.2\",","isFullCredit":false},{"lineNumber":14425,"author":{"gitId":"-"},"content":" \"javascript-stringify\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":14426,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14427,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14428,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14429,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14430,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14431,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain/node_modules/deepmerge\": {","isFullCredit":false},{"lineNumber":14432,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\",","isFullCredit":false},{"lineNumber":14433,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14434,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14435,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14436,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":14437,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14438,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14439,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware\": {","isFullCredit":false},{"lineNumber":14440,"author":{"gitId":"-"},"content":" \"version\": \"5.3.4\",","isFullCredit":false},{"lineNumber":14441,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14442,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14443,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14444,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\",","isFullCredit":false},{"lineNumber":14445,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.4.3\",","isFullCredit":false},{"lineNumber":14446,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.31\",","isFullCredit":false},{"lineNumber":14447,"author":{"gitId":"-"},"content":" \"range-parser\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":14448,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\"","isFullCredit":false},{"lineNumber":14449,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14450,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14451,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":14452,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14453,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14454,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14455,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14456,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14457,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14458,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":14459,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14460,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14461,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":14462,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":14463,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14464,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14465,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14466,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":14467,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":14468,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":14469,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":14470,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14471,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14472,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":14473,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":14474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14475,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14476,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":14477,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":14478,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14479,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14480,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14481,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":14482,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14483,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14484,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":14485,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14486,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14487,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":14488,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":14489,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14490,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14491,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14492,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":14493,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14494,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14495,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14496,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14497,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":14498,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\",","isFullCredit":false},{"lineNumber":14499,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":14500,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":14501,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14502,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14503,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":14504,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14505,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14506,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14507,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14508,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14509,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14510,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server\": {","isFullCredit":false},{"lineNumber":14511,"author":{"gitId":"-"},"content":" \"version\": \"4.11.1\",","isFullCredit":false},{"lineNumber":14512,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14513,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14514,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14515,"author":{"gitId":"-"},"content":" \"@types/bonjour\": \"^3.5.9\",","isFullCredit":false},{"lineNumber":14516,"author":{"gitId":"-"},"content":" \"@types/connect-history-api-fallback\": \"^1.3.5\",","isFullCredit":false},{"lineNumber":14517,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\",","isFullCredit":false},{"lineNumber":14518,"author":{"gitId":"-"},"content":" \"@types/serve-index\": \"^1.9.1\",","isFullCredit":false},{"lineNumber":14519,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"^1.13.10\",","isFullCredit":false},{"lineNumber":14520,"author":{"gitId":"-"},"content":" \"@types/sockjs\": \"^0.3.33\",","isFullCredit":false},{"lineNumber":14521,"author":{"gitId":"-"},"content":" \"@types/ws\": \"^8.5.1\",","isFullCredit":false},{"lineNumber":14522,"author":{"gitId":"-"},"content":" \"ansi-html-community\": \"^0.0.8\",","isFullCredit":false},{"lineNumber":14523,"author":{"gitId":"-"},"content":" \"bonjour-service\": \"^1.0.11\",","isFullCredit":false},{"lineNumber":14524,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.5.3\",","isFullCredit":false},{"lineNumber":14525,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\",","isFullCredit":false},{"lineNumber":14526,"author":{"gitId":"-"},"content":" \"compression\": \"^1.7.4\",","isFullCredit":false},{"lineNumber":14527,"author":{"gitId":"-"},"content":" \"connect-history-api-fallback\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":14528,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\",","isFullCredit":false},{"lineNumber":14529,"author":{"gitId":"-"},"content":" \"express\": \"^4.17.3\",","isFullCredit":false},{"lineNumber":14530,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.6\",","isFullCredit":false},{"lineNumber":14531,"author":{"gitId":"-"},"content":" \"html-entities\": \"^2.3.2\",","isFullCredit":false},{"lineNumber":14532,"author":{"gitId":"-"},"content":" \"http-proxy-middleware\": \"^2.0.3\",","isFullCredit":false},{"lineNumber":14533,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"^2.0.1\",","isFullCredit":false},{"lineNumber":14534,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.9\",","isFullCredit":false},{"lineNumber":14535,"author":{"gitId":"-"},"content":" \"p-retry\": \"^4.5.0\",","isFullCredit":false},{"lineNumber":14536,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":14537,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":14538,"author":{"gitId":"-"},"content":" \"selfsigned\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":14539,"author":{"gitId":"-"},"content":" \"serve-index\": \"^1.9.1\",","isFullCredit":false},{"lineNumber":14540,"author":{"gitId":"-"},"content":" \"sockjs\": \"^0.3.24\",","isFullCredit":false},{"lineNumber":14541,"author":{"gitId":"-"},"content":" \"spdy\": \"^4.0.2\",","isFullCredit":false},{"lineNumber":14542,"author":{"gitId":"-"},"content":" \"webpack-dev-middleware\": \"^5.3.1\",","isFullCredit":false},{"lineNumber":14543,"author":{"gitId":"-"},"content":" \"ws\": \"^8.4.2\"","isFullCredit":false},{"lineNumber":14544,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14545,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":14546,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"bin/webpack-dev-server.js\"","isFullCredit":false},{"lineNumber":14547,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14548,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14549,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":14550,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14551,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14552,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14553,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14554,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14555,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14556,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.37.0 || ^5.0.0\"","isFullCredit":false},{"lineNumber":14557,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14558,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14559,"author":{"gitId":"-"},"content":" \"webpack-cli\": {","isFullCredit":false},{"lineNumber":14560,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14562,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14563,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14564,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv\": {","isFullCredit":false},{"lineNumber":14565,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":14566,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14567,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14568,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14569,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":14570,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":14571,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\",","isFullCredit":false},{"lineNumber":14572,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\"","isFullCredit":false},{"lineNumber":14573,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14574,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14575,"author":{"gitId":"-"},"content":" \"type\": \"github\",","isFullCredit":false},{"lineNumber":14576,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\"","isFullCredit":false},{"lineNumber":14577,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14578,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14579,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv-keywords\": {","isFullCredit":false},{"lineNumber":14580,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":14581,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14582,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14583,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14584,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\"","isFullCredit":false},{"lineNumber":14585,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14586,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14587,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\"","isFullCredit":false},{"lineNumber":14588,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14589,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14590,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/json-schema-traverse\": {","isFullCredit":false},{"lineNumber":14591,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":14592,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14593,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14594,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14595,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":14596,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14597,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14598,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14599,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14600,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\",","isFullCredit":false},{"lineNumber":14601,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\",","isFullCredit":false},{"lineNumber":14602,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":14603,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\"","isFullCredit":false},{"lineNumber":14604,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14605,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14606,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\"","isFullCredit":false},{"lineNumber":14607,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14608,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14609,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14610,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14611,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14612,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14613,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ws\": {","isFullCredit":false},{"lineNumber":14614,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\",","isFullCredit":false},{"lineNumber":14615,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14616,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14617,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":14619,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14620,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14621,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":14622,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"\u003e\u003d5.0.2\"","isFullCredit":false},{"lineNumber":14623,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14624,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14625,"author":{"gitId":"-"},"content":" \"bufferutil\": {","isFullCredit":false},{"lineNumber":14626,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14627,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14628,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {","isFullCredit":false},{"lineNumber":14629,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14630,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14631,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14632,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14633,"author":{"gitId":"-"},"content":" \"node_modules/webpack-merge\": {","isFullCredit":false},{"lineNumber":14634,"author":{"gitId":"-"},"content":" \"version\": \"5.8.0\",","isFullCredit":false},{"lineNumber":14635,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14636,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14637,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14638,"author":{"gitId":"-"},"content":" \"clone-deep\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":14639,"author":{"gitId":"-"},"content":" \"wildcard\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":14640,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14641,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14642,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\"","isFullCredit":false},{"lineNumber":14643,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14644,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14645,"author":{"gitId":"-"},"content":" \"node_modules/webpack-sources\": {","isFullCredit":false},{"lineNumber":14646,"author":{"gitId":"-"},"content":" \"version\": \"3.2.3\",","isFullCredit":false},{"lineNumber":14647,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14648,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14649,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\"","isFullCredit":false},{"lineNumber":14650,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14651,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14652,"author":{"gitId":"-"},"content":" \"node_modules/webpack-virtual-modules\": {","isFullCredit":false},{"lineNumber":14653,"author":{"gitId":"-"},"content":" \"version\": \"0.4.6\",","isFullCredit":false},{"lineNumber":14654,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14655,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14656,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14657,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/@types/estree\": {","isFullCredit":false},{"lineNumber":14658,"author":{"gitId":"-"},"content":" \"version\": \"0.0.51\",","isFullCredit":false},{"lineNumber":14659,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14660,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14661,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/schema-utils\": {","isFullCredit":false},{"lineNumber":14662,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":14663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14664,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14665,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\",","isFullCredit":false},{"lineNumber":14666,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\",","isFullCredit":false},{"lineNumber":14667,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\"","isFullCredit":false},{"lineNumber":14668,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14669,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14670,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\"","isFullCredit":false},{"lineNumber":14671,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14672,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14673,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\",","isFullCredit":false},{"lineNumber":14674,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\"","isFullCredit":false},{"lineNumber":14675,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14676,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14677,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/tapable\": {","isFullCredit":false},{"lineNumber":14678,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\",","isFullCredit":false},{"lineNumber":14679,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14680,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14681,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\"","isFullCredit":false},{"lineNumber":14682,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14683,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14684,"author":{"gitId":"-"},"content":" \"node_modules/websocket-driver\": {","isFullCredit":false},{"lineNumber":14685,"author":{"gitId":"-"},"content":" \"version\": \"0.7.4\",","isFullCredit":false},{"lineNumber":14686,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14687,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":14688,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14689,"author":{"gitId":"-"},"content":" \"http-parser-js\": \"\u003e\u003d0.5.1\",","isFullCredit":false},{"lineNumber":14690,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"\u003e\u003d5.1.0\",","isFullCredit":false},{"lineNumber":14691,"author":{"gitId":"-"},"content":" \"websocket-extensions\": \"\u003e\u003d0.1.1\"","isFullCredit":false},{"lineNumber":14692,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14693,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14694,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":14695,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14696,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14697,"author":{"gitId":"-"},"content":" \"node_modules/websocket-extensions\": {","isFullCredit":false},{"lineNumber":14698,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\",","isFullCredit":false},{"lineNumber":14699,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14700,"author":{"gitId":"-"},"content":" \"license\": \"Apache-2.0\",","isFullCredit":false},{"lineNumber":14701,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14702,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\"","isFullCredit":false},{"lineNumber":14703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14704,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14705,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-fetch\": {","isFullCredit":false},{"lineNumber":14706,"author":{"gitId":"-"},"content":" \"version\": \"3.6.2\",","isFullCredit":false},{"lineNumber":14707,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14708,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14709,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14710,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-url\": {","isFullCredit":false},{"lineNumber":14711,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\",","isFullCredit":false},{"lineNumber":14712,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14713,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14714,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14715,"author":{"gitId":"-"},"content":" \"tr46\": \"~0.0.3\",","isFullCredit":false},{"lineNumber":14716,"author":{"gitId":"-"},"content":" \"webidl-conversions\": \"^3.0.0\"","isFullCredit":false},{"lineNumber":14717,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14718,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14719,"author":{"gitId":"-"},"content":" \"node_modules/which\": {","isFullCredit":false},{"lineNumber":14720,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\",","isFullCredit":false},{"lineNumber":14721,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14722,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":14723,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14724,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":14725,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14726,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":14727,"author":{"gitId":"-"},"content":" \"node-which\": \"bin/node-which\"","isFullCredit":false},{"lineNumber":14728,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14729,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14730,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\"","isFullCredit":false},{"lineNumber":14731,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14732,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14733,"author":{"gitId":"-"},"content":" \"node_modules/which-boxed-primitive\": {","isFullCredit":false},{"lineNumber":14734,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":14735,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14736,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14737,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14738,"author":{"gitId":"-"},"content":" \"is-bigint\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":14739,"author":{"gitId":"-"},"content":" \"is-boolean-object\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":14740,"author":{"gitId":"-"},"content":" \"is-number-object\": \"^1.0.4\",","isFullCredit":false},{"lineNumber":14741,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.5\",","isFullCredit":false},{"lineNumber":14742,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.3\"","isFullCredit":false},{"lineNumber":14743,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14744,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14745,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":14746,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14747,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14748,"author":{"gitId":"-"},"content":" \"node_modules/which-typed-array\": {","isFullCredit":false},{"lineNumber":14749,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.15\",","isFullCredit":false},{"lineNumber":14750,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14751,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14752,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14753,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":14754,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\",","isFullCredit":false},{"lineNumber":14755,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\",","isFullCredit":false},{"lineNumber":14756,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\",","isFullCredit":false},{"lineNumber":14757,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\"","isFullCredit":false},{"lineNumber":14758,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14759,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14760,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\"","isFullCredit":false},{"lineNumber":14761,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14762,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14763,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\"","isFullCredit":false},{"lineNumber":14764,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14765,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14766,"author":{"gitId":"-"},"content":" \"node_modules/wildcard\": {","isFullCredit":false},{"lineNumber":14767,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":14768,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14769,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14770,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14771,"author":{"gitId":"-"},"content":" \"node_modules/with\": {","isFullCredit":false},{"lineNumber":14772,"author":{"gitId":"-"},"content":" \"version\": \"7.0.2\",","isFullCredit":false},{"lineNumber":14773,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14774,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14775,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14776,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.9.6\",","isFullCredit":false},{"lineNumber":14777,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\",","isFullCredit":false},{"lineNumber":14778,"author":{"gitId":"-"},"content":" \"assert-never\": \"^1.2.1\",","isFullCredit":false},{"lineNumber":14779,"author":{"gitId":"-"},"content":" \"babel-walk\": \"3.0.0-canary-5\"","isFullCredit":false},{"lineNumber":14780,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14781,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14782,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\"","isFullCredit":false},{"lineNumber":14783,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14784,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14785,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi\": {","isFullCredit":false},{"lineNumber":14786,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\",","isFullCredit":false},{"lineNumber":14787,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14788,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14789,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14790,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\",","isFullCredit":false},{"lineNumber":14791,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\",","isFullCredit":false},{"lineNumber":14792,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\"","isFullCredit":false},{"lineNumber":14793,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14794,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14795,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14796,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14797,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14798,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14799,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14800,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14801,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/ansi-styles\": {","isFullCredit":false},{"lineNumber":14802,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\",","isFullCredit":false},{"lineNumber":14803,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14804,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14805,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14806,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\"","isFullCredit":false},{"lineNumber":14807,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14808,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14809,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\"","isFullCredit":false},{"lineNumber":14810,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14811,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14812,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\"","isFullCredit":false},{"lineNumber":14813,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14814,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14815,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-convert\": {","isFullCredit":false},{"lineNumber":14816,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\",","isFullCredit":false},{"lineNumber":14817,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14818,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14819,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14820,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\"","isFullCredit":false},{"lineNumber":14821,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14822,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14823,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\"","isFullCredit":false},{"lineNumber":14824,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14825,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14826,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-name\": {","isFullCredit":false},{"lineNumber":14827,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\",","isFullCredit":false},{"lineNumber":14828,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14829,"author":{"gitId":"-"},"content":" \"license\": \"MIT\"","isFullCredit":false},{"lineNumber":14830,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14831,"author":{"gitId":"-"},"content":" \"node_modules/wrappy\": {","isFullCredit":false},{"lineNumber":14832,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\",","isFullCredit":false},{"lineNumber":14833,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":14834,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14835,"author":{"gitId":"-"},"content":" \"node_modules/write-file-atomic\": {","isFullCredit":false},{"lineNumber":14836,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\",","isFullCredit":false},{"lineNumber":14837,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz\",","isFullCredit":false},{"lineNumber":14838,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw\u003d\u003d\",","isFullCredit":false},{"lineNumber":14839,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14840,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14841,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\",","isFullCredit":false},{"lineNumber":14842,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^4.0.1\"","isFullCredit":false},{"lineNumber":14843,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14844,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14845,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || ^16.13.0 || \u003e\u003d18.0.0\"","isFullCredit":false},{"lineNumber":14846,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":14847,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":14848,"author":{"gitId":"sopa301"},"content":" \"node_modules/write-file-atomic/node_modules/signal-exit\": {","isFullCredit":false},{"lineNumber":14849,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\",","isFullCredit":false},{"lineNumber":14850,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",","isFullCredit":false},{"lineNumber":14851,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw\u003d\u003d\",","isFullCredit":false},{"lineNumber":14852,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14853,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14854,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\"","isFullCredit":false},{"lineNumber":14855,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":14856,"author":{"gitId":"sopa301"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14857,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\"","isFullCredit":false},{"lineNumber":14858,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14859,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14860,"author":{"gitId":"-"},"content":" \"node_modules/ws\": {","isFullCredit":false},{"lineNumber":14861,"author":{"gitId":"-"},"content":" \"version\": \"7.5.9\",","isFullCredit":false},{"lineNumber":14862,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14863,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14864,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14865,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.3.0\"","isFullCredit":false},{"lineNumber":14866,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14867,"author":{"gitId":"-"},"content":" \"peerDependencies\": {","isFullCredit":false},{"lineNumber":14868,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":14869,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"^5.0.2\"","isFullCredit":false},{"lineNumber":14870,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14871,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {","isFullCredit":false},{"lineNumber":14872,"author":{"gitId":"-"},"content":" \"bufferutil\": {","isFullCredit":false},{"lineNumber":14873,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14874,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14875,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {","isFullCredit":false},{"lineNumber":14876,"author":{"gitId":"-"},"content":" \"optional\": true","isFullCredit":false},{"lineNumber":14877,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14878,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14879,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14880,"author":{"gitId":"sopa301"},"content":" \"node_modules/xml-name-validator\": {","isFullCredit":false},{"lineNumber":14881,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\",","isFullCredit":false},{"lineNumber":14882,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz\",","isFullCredit":false},{"lineNumber":14883,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw\u003d\u003d\",","isFullCredit":false},{"lineNumber":14884,"author":{"gitId":"sopa301"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14885,"author":{"gitId":"sopa301"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14886,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\"","isFullCredit":false},{"lineNumber":14887,"author":{"gitId":"sopa301"},"content":" }","isFullCredit":false},{"lineNumber":14888,"author":{"gitId":"sopa301"},"content":" },","isFullCredit":false},{"lineNumber":14889,"author":{"gitId":"-"},"content":" \"node_modules/y18n\": {","isFullCredit":false},{"lineNumber":14890,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\",","isFullCredit":false},{"lineNumber":14891,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14892,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":14893,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14894,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14895,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14896,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14897,"author":{"gitId":"-"},"content":" \"node_modules/yallist\": {","isFullCredit":false},{"lineNumber":14898,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\",","isFullCredit":false},{"lineNumber":14899,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14900,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":14901,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14902,"author":{"gitId":"-"},"content":" \"node_modules/yaml\": {","isFullCredit":false},{"lineNumber":14903,"author":{"gitId":"-"},"content":" \"version\": \"1.10.2\",","isFullCredit":false},{"lineNumber":14904,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14905,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":14906,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14907,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\"","isFullCredit":false},{"lineNumber":14908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14909,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14910,"author":{"gitId":"-"},"content":" \"node_modules/yargs\": {","isFullCredit":false},{"lineNumber":14911,"author":{"gitId":"-"},"content":" \"version\": \"16.2.0\",","isFullCredit":false},{"lineNumber":14912,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14913,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14914,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14915,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.2\",","isFullCredit":false},{"lineNumber":14916,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\",","isFullCredit":false},{"lineNumber":14917,"author":{"gitId":"-"},"content":" \"get-caller-file\": \"^2.0.5\",","isFullCredit":false},{"lineNumber":14918,"author":{"gitId":"-"},"content":" \"require-directory\": \"^2.1.1\",","isFullCredit":false},{"lineNumber":14919,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\",","isFullCredit":false},{"lineNumber":14920,"author":{"gitId":"-"},"content":" \"y18n\": \"^5.0.5\",","isFullCredit":false},{"lineNumber":14921,"author":{"gitId":"-"},"content":" \"yargs-parser\": \"^20.2.2\"","isFullCredit":false},{"lineNumber":14922,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14923,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14924,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14925,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14926,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14927,"author":{"gitId":"-"},"content":" \"node_modules/yargs-parser\": {","isFullCredit":false},{"lineNumber":14928,"author":{"gitId":"-"},"content":" \"version\": \"20.2.9\",","isFullCredit":false},{"lineNumber":14929,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14930,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":14931,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14932,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14933,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14934,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14935,"author":{"gitId":"-"},"content":" \"node_modules/yocto-queue\": {","isFullCredit":false},{"lineNumber":14936,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\",","isFullCredit":false},{"lineNumber":14937,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14938,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14939,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14940,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\"","isFullCredit":false},{"lineNumber":14941,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14942,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":14943,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\"","isFullCredit":false},{"lineNumber":14944,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14945,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14946,"author":{"gitId":"-"},"content":" \"node_modules/yorkie\": {","isFullCredit":false},{"lineNumber":14947,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":14948,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14949,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,","isFullCredit":false},{"lineNumber":14950,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14951,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14952,"author":{"gitId":"-"},"content":" \"execa\": \"^0.8.0\",","isFullCredit":false},{"lineNumber":14953,"author":{"gitId":"-"},"content":" \"is-ci\": \"^1.0.10\",","isFullCredit":false},{"lineNumber":14954,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":14955,"author":{"gitId":"-"},"content":" \"strip-indent\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":14956,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14957,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14958,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":14959,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14960,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14961,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/cross-spawn\": {","isFullCredit":false},{"lineNumber":14962,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\",","isFullCredit":false},{"lineNumber":14963,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14964,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14965,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14966,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.0.1\",","isFullCredit":false},{"lineNumber":14967,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\",","isFullCredit":false},{"lineNumber":14968,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\"","isFullCredit":false},{"lineNumber":14969,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14970,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14971,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/execa\": {","isFullCredit":false},{"lineNumber":14972,"author":{"gitId":"-"},"content":" \"version\": \"0.8.0\",","isFullCredit":false},{"lineNumber":14973,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14974,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14975,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":14976,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^5.0.1\",","isFullCredit":false},{"lineNumber":14977,"author":{"gitId":"-"},"content":" \"get-stream\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":14978,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":14979,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\",","isFullCredit":false},{"lineNumber":14980,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":14981,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\",","isFullCredit":false},{"lineNumber":14982,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":14983,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14984,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14985,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":14986,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14987,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14988,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/get-stream\": {","isFullCredit":false},{"lineNumber":14989,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\",","isFullCredit":false},{"lineNumber":14990,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14991,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":14992,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":14993,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":14994,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":14995,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":14996,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/lru-cache\": {","isFullCredit":false},{"lineNumber":14997,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\",","isFullCredit":false},{"lineNumber":14998,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":14999,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":15000,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":15001,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\",","isFullCredit":false},{"lineNumber":15002,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\"","isFullCredit":false},{"lineNumber":15003,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15004,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15005,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/normalize-path\": {","isFullCredit":false},{"lineNumber":15006,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":15007,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15008,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":15009,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":15010,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":15011,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15012,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15013,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-command\": {","isFullCredit":false},{"lineNumber":15014,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\",","isFullCredit":false},{"lineNumber":15015,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15016,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":15017,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":15018,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\"","isFullCredit":false},{"lineNumber":15019,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15020,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":15021,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":15022,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15023,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15024,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-regex\": {","isFullCredit":false},{"lineNumber":15025,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":15026,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15027,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":15028,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":15029,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\"","isFullCredit":false},{"lineNumber":15030,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15031,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15032,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/strip-indent\": {","isFullCredit":false},{"lineNumber":15033,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\",","isFullCredit":false},{"lineNumber":15034,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15035,"author":{"gitId":"-"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":15036,"author":{"gitId":"-"},"content":" \"engines\": {","isFullCredit":false},{"lineNumber":15037,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\"","isFullCredit":false},{"lineNumber":15038,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15039,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15040,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/which\": {","isFullCredit":false},{"lineNumber":15041,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\",","isFullCredit":false},{"lineNumber":15042,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15043,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":15044,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":15045,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\"","isFullCredit":false},{"lineNumber":15046,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15047,"author":{"gitId":"-"},"content":" \"bin\": {","isFullCredit":false},{"lineNumber":15048,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\"","isFullCredit":false},{"lineNumber":15049,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15050,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15051,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/yallist\": {","isFullCredit":false},{"lineNumber":15052,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\",","isFullCredit":false},{"lineNumber":15053,"author":{"gitId":"-"},"content":" \"dev\": true,","isFullCredit":false},{"lineNumber":15054,"author":{"gitId":"-"},"content":" \"license\": \"ISC\"","isFullCredit":false},{"lineNumber":15055,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15056,"author":{"gitId":"-"},"content":" \"node_modules/zod\": {","isFullCredit":false},{"lineNumber":15057,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.22.4\",","isFullCredit":false},{"lineNumber":15058,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\",","isFullCredit":false},{"lineNumber":15059,"author":{"gitId":"-"},"content":" \"funding\": {","isFullCredit":false},{"lineNumber":15060,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/colinhacks\"","isFullCredit":false},{"lineNumber":15061,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15062,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15063,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15064,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":934,"-":14130}},{"path":"frontend/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\",","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\",","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"[![Build Status](https://travis-ci.org/reposense/RepoSense.svg?branch\u003dmaster)](https://travis-ci.org/reposense/RepoSense) [![Build status](https://ci.appveyor.com/api/projects/status/gsbkj5qby3pjd6nw/branch/master?svg\u003dtrue)](https://ci.appveyor.com/project/eugenepeh/reposense/branch/master)\",","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"author\": \"\",","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"scripts\": {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"serve\": \"vue-cli-service serve\",","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"build\": \"vue-cli-service build\",","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"lint\": \"eslint src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint ./src/**/*.{vue,scss} \u0026\u0026 npm run puglint\",","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"devbuild\": \"vue-cli-service build --mode development\",","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint --fix src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint --fix ./src/**/*.{vue,scss}\",","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"puglint\": \"pug-lint-vue src\",","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"serveOpen\": \"vue-cli-service serve --open\"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"main\": \"index.js\",","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"dependencies\": {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\",","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\",","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\",","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\",","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\",","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"core-js\": \"^3.36.1\",","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\",","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\",","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\",","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\",","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\",","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\",","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\",","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\",","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"vue-loader\": \"^17.4.2\",","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\",","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\",","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\",","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"devDependencies\": {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"@babel/eslint-parser\": \"^7.24.1\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\",","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@stylistic/eslint-plugin\": \"^1.7.0\",","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\",","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^5.0.8\",","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\",","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"@vue/eslint-config-typescript\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\",","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\",","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^18.0.0\",","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\",","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^9.0.0\",","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\",","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\",","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\",","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\",","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"sass-loader\": \"^14.0.0\",","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\",","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\",","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\",","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\",","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\",","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\",","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"~4.9.5\",","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"typescript-eslint\": \"^7.3.1\"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"bugs\": {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/reposense/RepoSense/issues\"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"directories\": {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"doc\": \"docs\"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" },","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"homepage\": \"https://github.com/reposense/RepoSense#readme\",","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"license\": \"ISC\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"repository\": {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"type\": \"git\",","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"url\": \"git+https://github.com/reposense/RepoSense.git\"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":30,"-":54}},{"path":"frontend/src/styles/summary-chart.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@import \u0027colors\u0027;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"@import \u0027z-indices\u0027;","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"/* Summary */","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"#summary {","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" .summary-status {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" text-align: center;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" @mixin icon-button-config {","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" padding: 0 1.2px 0 1.2px;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" text-decoration: none;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" .icon-button {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" @include icon-button-config;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" cursor: pointer;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .broken-link {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .icon-button {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" cursor: default;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .summary-picker {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" flex-flow: row wrap;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" justify-content: center;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" margin-bottom: 2rem;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u0026__section {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" align-items: inherit;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" flex: 0 1 auto;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" flex-flow: inherit;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" justify-content: inherit;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u0026__checkboxes {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" label {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" margin-left: .5rem;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" span {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" margin-left: .25rem;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" .mui-textfield,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .mui-select {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" margin: .5rem;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" padding-right: 10px;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" .mui-btn {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" background: transparent;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" box-shadow: none;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" left: -8px;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" margin: 0;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" padding: 0;","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" vertical-align: middle;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" .search_box {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" input {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-right: 10px;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" label {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: hidden;","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" width: fit-content;","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" input,","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" select {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .summary-charts {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" margin-bottom: 1.4rem;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u0026__title {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" flex-wrap: wrap;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u0026 \u003e * {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" padding-right: .5rem;","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u0026--index {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" background: mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" overflow: hidden;","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" padding: .1em .25em;","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" vertical-align: middle;","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" @include medium-font;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u0026--groupname {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" @include medium-font;","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: .5rem;","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u0026--percentile {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" margin-left: auto;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u0026--contribution {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" display: inline;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" \u0026--tags {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" margin: .25rem 0;","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u0026__fileType--breakdown {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" overflow-y: hidden;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u0026__legend {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" @include small-font;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" display: inline;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" float: left;","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .summary-chart {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" display: inline-block;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" margin-bottom: 1rem;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" position: relative;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" text-align: left;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" width: 100%;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u0026__title {","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" align-items: center;","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" clear: left;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" display: flex;","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u0026 \u003e * {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" padding-right: .5rem;","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u0026--index {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" margin-left: 3px;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u0026--repo {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" font-weight: bold;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u0026--index::after {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" content: \u0027.\u0027;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u0026--repo {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" padding-right: .25rem;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" \u0026--contribution {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u0026--percentile {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" color: mui-color(\u0027grey\u0027);","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" margin-left: auto;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" padding-right: 0;","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u0026__ramp {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" position: relative;","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .overlay {","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" height: 100%;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" position: absolute;","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" top: 0;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026.show {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" background-color: rgba(mui-color(\u0027white\u0027), .5);","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" border: 1px dashed mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u0026.edge {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" border-right: 1px dashed mui-color(\u0027black\u0027);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .active-icon {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" background-color: mui-color(\u0027green\u0027);","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" border-radius: 2px;","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" .active-background {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" background-color: mui-color(\u0027yellow\u0027, \u0027200\u0027);","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"sopa301":1,"-":216,"jonasongg":5}},{"path":"frontend/src/styles/tags.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"@import \u0027colors\u0027;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":"/* Tags in commits */","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":".tag {","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" @include mini-font;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" background: mui-color(\u0027grey\u0027, \u0027600\u0027);","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" border-radius: 5px;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" color: mui-color(\u0027white\u0027);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" display: inline-block;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":" margin: .2rem .2rem .2rem 0;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" padding: 0 3px 0 3px;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" .fa-tags {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" width: .65rem;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" }","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":"}","isFullCredit":false}],"authorContributionMap":{"jonasongg":16}},{"path":"src/main/java/reposense/RepoSense.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.git.GitConfig;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.system.ReportServer;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * The main RepoSense class.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"public class RepoSense {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoSense.class);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int SERVER_PORT_NUMBER \u003d 9000;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"E MMM d HH:mm:ss yyyy z\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String VERSION_UNSPECIFIED \u003d \"unspecified\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * The entry point of the program.","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Additional flags are provided by the user in {@code args}.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" TimeUtil.startTimer();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(args);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d null;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (cliArguments.isViewModeOnly()) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getReportDirectoryPath().toAbsolutePath());","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" configs \u003d RunConfigurationDecider.getRunConfiguration(cliArguments).getRepoConfigurations();","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" reportConfig \u003d cliArguments.getReportConfiguration();","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap \u003d cliArguments.getBlurbMap();","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(configs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" RepoConfiguration.setDatesToRepoConfigs(configs, cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" RepoConfiguration.setZoneIdToRepoConfigs(configs, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsLastModifiedDateIncludedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" cliArguments.isLastModifiedDateIncluded());","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(configs,","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e globalGitConfig \u003d GitConfig.getGlobalGitLfsConfig();","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" if (globalGitConfig.size() !\u003d 0) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(GitConfig.SKIP_SMUDGE_CONFIG_SETTINGS);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" ReportGenerator reportGenerator \u003d new ReportGenerator();","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d reportGenerator.generateReposReport(configs,","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().toAbsolutePath().toString(),","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" cliArguments.getAssetsFilePath().toAbsolutePath().toString(), reportConfig,","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" formatter.format(ZonedDateTime.now(cliArguments.getZoneId())),","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" cliArguments.getSinceDate(), cliArguments.getUntilDate(),","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" cliArguments.isSinceDateProvided(), cliArguments.isUntilDateProvided(),","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" cliArguments.getNumCloningThreads(), cliArguments.getNumAnalysisThreads(),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" TimeUtil::getElapsedTime, cliArguments.getZoneId(), cliArguments.isFreshClonePerformed(),","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" cliArguments.isAuthorshipAnalyzed(), cliArguments.getOriginalityThreshold(),","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" FileUtil.zipFoldersAndFiles(reportFoldersAndFiles, cliArguments.getOutputFilePath().toAbsolutePath(),","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" \".json\");","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" // Set back to user\u0027s initial global git lfs config","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(globalGitConfig);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" logger.info(TimeUtil.getElapsedTimeMessage());","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (cliArguments.isAutomaticallyLaunching()) {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getOutputFilePath().toAbsolutePath());","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" } catch (IOException | ParseException | InvalidCsvException | InvalidHeaderException e) {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" } catch (HelpScreenException e) {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // help message was printed by the ArgumentParser; it is safe to exit.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" } catch (InvalidMarkdownException ex) {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.SEVERE, ex.getMessage(), ex);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" LogsManager.moveLogFileToOutputFolder();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public static String getVersion() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" String version \u003d RepoSense.class.getPackage().getImplementationVersion();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (version \u003d\u003d null || version.equals(VERSION_UNSPECIFIED)) {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" version \u003d System.getProperty(\"version\");","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" return version;","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12,"-":110}},{"path":"src/main/java/reposense/authorship/FileInfoAnalyzer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AnnotatorAnalyzer;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AuthorshipAnalyzer;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Analyzes the target and information given in the {@link FileInfo}.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"public class FileInfoAnalyzer {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoAnalyzer.class);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int AUTHOR_NAME_OFFSET \u003d \"author \".length();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int AUTHOR_EMAIL_OFFSET \u003d \"author-mail \".length();","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIME_OFFSET \u003d \"author-time \".length();","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIMEZONE_OFFSET \u003d \"author-tz \".length();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int FULL_COMMIT_HASH_LENGTH \u003d 40;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_MISSING \u003d \"Unable to analyze the file located at \\\"%s\\\" \"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"as the file is missing from your system. Skipping this file.\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT \u003d \"Repo %s was cloned using \"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"shallow cloning. As such, the \\\"last modified date\\\" values may be incorrect.\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Analyzes the lines of the file, given in the {@code fileInfo}, that has changed in the time period provided","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * by {@code config}.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public FileResult analyzeTextFile(RepoConfiguration config, FileInfo fileInfo, boolean shouldAnalyzeAuthorship,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" double originalityThreshold) {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (FileUtil.isEmptyFile(config.getRepoRoot(), relativePath)) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" aggregateBlameAuthorModifiedAndDateInfo(config, fileInfo, shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" AnnotatorAnalyzer.aggregateAnnotationAuthorInfo(fileInfo, config.getAuthorConfig(), shouldAnalyzeAuthorship);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (!config.getAuthorList().isEmpty() \u0026\u0026 fileInfo.isAllAuthorsIgnored(config.getAuthorList())) {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return generateTextFileResult(fileInfo);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Analyzes the binary file, given in the {@code fileInfo}, that has changed in the time period provided","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" * by {@code config}.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public FileResult analyzeBinaryFile(RepoConfiguration config, FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" return generateBinaryFileResult(config, fileInfo);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from {@code fileInfo} consolidated.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" private FileResult generateTextFileResult(FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" for (LineInfo line : fileInfo.getLines()) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" Author author \u003d line.getAuthor();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, authorContributionMap.getOrDefault(author, 0) + 1);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" return FileResult.createTextFileResult(fileInfo.getPath(), fileInfo.getFileType(), fileInfo.getLines(),","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" authorContributionMap, fileInfo.exceedsFileLimit());","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from binary {@code fileInfo} consolidated.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Authorship results are indicated in the {@code authorContributionMap} as contributions with zero line counts.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns {@code null} if none of the {@link Author} specified in {@code config} contributed to the file in","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * {@code fileInfo}.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" private FileResult generateBinaryFileResult(RepoConfiguration config, FileInfo fileInfo) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e authorsString \u003d GitLog.getFileAuthors(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" if (authorsString.size() \u003d\u003d 0) {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" Set\u003cAuthor\u003e authors \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" for (String[] lineDetails : authorsString) {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" String authorName \u003d lineDetails[0];","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" String authorEmail \u003d lineDetails[1];","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" authors.add(config.getAuthor(authorName, authorEmail));","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" for (Author author : authors) {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, 0);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" return FileResult.createBinaryFileResult(fileInfo.getPath(), fileInfo.getFileType(), authorContributionMap);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Sets the {@link Author} and {@link LocalDateTime} for each line in {@code fileInfo} based on the git blame","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" * analysis of the file.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * The {@code config} is used to obtain the root directory for running git blame as well as other parameters used","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * in determining which author to assign to each line and whether to set the last modified date for a","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code lineInfo}.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" private void aggregateBlameAuthorModifiedAndDateInfo(RepoConfiguration config, FileInfo fileInfo,","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean shouldAnalyzeAuthorship, double originalityThreshold) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" String blameResults;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" if (!config.isFindingPreviousAuthorsPerformed()) {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameResult(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameWithPreviousAuthorsResult(config, fileInfo.getPath());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" String[] blameResultLines \u003d StringsUtil.NEWLINE.split(blameResults);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Path filePath \u003d Paths.get(fileInfo.getPath());","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate \u003d config.getSinceDate();","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" LocalDateTime untilDate \u003d config.getUntilDate();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" for (int lineCount \u003d 0; lineCount \u003c blameResultLines.length; lineCount +\u003d 5) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" String commitHash \u003d blameResultLines[lineCount].substring(0, FULL_COMMIT_HASH_LENGTH);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" String authorName \u003d blameResultLines[lineCount + 1].substring(AUTHOR_NAME_OFFSET);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String authorEmail \u003d blameResultLines[lineCount + 2]","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .substring(AUTHOR_EMAIL_OFFSET).replaceAll(\"\u003c|\u003e\", \"\");","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" long commitDateInMs \u003d Long.parseLong(blameResultLines[lineCount + 3].substring(AUTHOR_TIME_OFFSET)) * 1000;","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" LocalDateTime commitDate \u003d LocalDateTime.ofInstant(Instant.ofEpochMilli(commitDateInMs),","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" config.getZoneId());","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" Author author \u003d config.getAuthor(authorName, authorEmail);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" int lineNumber \u003d lineCount / 5;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (!fileInfo.isFileLineTracked(lineNumber) || author.isIgnoringFile(filePath)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" || CommitHash.isInsideCommitList(commitHash, config.getIgnoreCommitList())","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" || commitDate.isBefore(sinceDate) || commitDate.isAfter(untilDate)) {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" author \u003d Author.UNKNOWN_AUTHOR;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (config.isLastModifiedDateIncluded()) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" if (config.isShallowCloningPerformed()) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT, config.getRepoName()));","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" fileInfo.setLineLastModifiedDate(lineNumber, commitDate);","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" fileInfo.setLineAuthor(lineNumber, author);","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" if (shouldAnalyzeAuthorship \u0026\u0026 !author.equals(Author.UNKNOWN_AUTHOR)) {","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" String lineContent \u003d fileInfo.getLine(lineNumber + 1).getContent();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isFullCredit \u003d AuthorshipAnalyzer.analyzeAuthorship(config, fileInfo.getPath(), lineContent,","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" commitHash, author, originalityThreshold);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" fileInfo.setIsFullCredit(lineNumber, isFullCredit);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame on {@code filePath} with reference to the root directory","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" * given in {@code config}.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" private String getGitBlameResult(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" return GitBlame.blame(config.getRepoRoot(), filePath);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame with finding previous authors enabled on {@code filePath}","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" * with reference to the root directory given in {@code config}.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" private String getGitBlameWithPreviousAuthorsResult(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" return GitBlame.blameWithPreviousAuthors(config.getRepoRoot(), filePath);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":213}},{"path":"src/main/java/reposense/authorship/FileInfoExtractor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.InvalidPathException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Comparator;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitDiff;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Extracts out all the relevant {@code FileInfo} from the repository.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"public class FileInfoExtractor {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoExtractor.class);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_EXTRACTING_FILE_INFO \u003d \"Extracting relevant file info from %s (%s)...\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_FILE_PATH \u003d \"\\\"%s\\\" is an invalid file path for current OS or \"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" + \"indicates a possible regex match issue. Skipping this directory.\";","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_SIZE_LIMIT_EXCEEDED \u003d \"File \\\"%s\\\" has %dB size. The file size \"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"limit is set at %dB. %s\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_ANALYSIS_SKIPPED \u003d \"Skipping analysis of this file...\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_EXCLUDED_FROM_REPORT \u003d \"Exact line diffs will be excluded from report...\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String DIFF_FILE_CHUNK_SEPARATOR \u003d \"\\ndiff --git \\\"?\\\u0027?a/.*\\n\";","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String LINE_CHUNKS_SEPARATOR \u003d \"\\n@@ \";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final String LINE_INSERTED_SYMBOL \u003d \"+\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String STARTING_LINE_NUMBER_GROUP_NAME \u003d \"startingLineNumber\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String FILE_CHANGED_GROUP_NAME \u003d \"filePath\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String FILE_DELETED_SYMBOL \u003d \"dev/null\";","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MATCH_GROUP_FAIL_MESSAGE_FORMAT \u003d \"Failed to match the %s group for:\\n%s\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String BINARY_FILE_LINE_DIFF_RESULT \u003d \"-\\t-\\t\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final int LINE_CHANGED_HEADER_INDEX \u003d 0;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Pattern STARTING_LINE_NUMBER_PATTERN \u003d Pattern.compile(","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"-(\\\\d)+(,)?(\\\\d)* \\\\+(?\u003cstartingLineNumber\u003e\\\\d+)(,)?(\\\\d)* @@\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Pattern FILE_CHANGED_PATTERN \u003d Pattern.compile(\"\\n(\\\\+){3} b?/(?\u003cfilePath\u003e.*?)\\t?\\n\");","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Extracts a list of relevant non-binary files given in {@code config}.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractTextFileInfos(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_START_EXTRACTING_FILE_INFO, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // checks out to the latest commit of the date range to ensure the FileInfo generated correspond to the","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" // git blame file analyze output","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitCheckout.checkoutDate(config.getRepoRoot(), config.getBranch(), config.getUntilDate(),","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" config.getZoneId());","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException cnfe) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" String lastCommitHash \u003d GitRevList.getCommitHashUntilDate(","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getBranch(), config.getSinceDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" fileInfos \u003d (lastCommitHash.isEmpty())","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" ? getAllFileInfo(config, false)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" : getEditedFileInfos(config, lastCommitHash);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" fileInfos.sort(Comparator.comparing(FileInfo::getPath));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Extracts a list of relevant binary files given in {@code config}.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractBinaryFileInfos(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e binaryFileInfos \u003d getAllFileInfo(config, true);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" binaryFileInfos.sort(Comparator.comparing(FileInfo::getPath));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" return binaryFileInfos;","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Returns a list of {@link FileInfo}s for all files in the repo with lines marked indicating if they were edited","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * in between the current commit and the commit given by {@code lastCommitHash}.","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * The repo is given by {@code config}.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e getEditedFileInfos(RepoConfiguration config, String lastCommitHash) {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" String fullDiffResult \u003d GitDiff.diffCommit(config.getRepoRoot(), lastCommitHash);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" // no diff between the 2 commits, return an empty list","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (fullDiffResult.isEmpty()) {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" String[] fileDiffResultList \u003d fullDiffResult.split(DIFF_FILE_CHUNK_SEPARATOR);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e textFilesSet \u003d getFiles(config, false);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" for (String fileDiffResult : fileDiffResultList) {","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Matcher filePathMatcher \u003d FILE_CHANGED_PATTERN.matcher(fileDiffResult);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" // diff result does not have the markers to indicate that file has any line changes, skip it","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (!filePathMatcher.find()) {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" String filePath \u003d filePathMatcher.group(FILE_CHANGED_GROUP_NAME);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (filePath.equals(FILE_DELETED_SYMBOL) // file is deleted, skip it as well","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" || !isValidTextFile(filePath, textFilesSet)","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" || !config.getFileTypeManager().isInsideWhitelistedFormats(filePath)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, Paths.get(filePath))) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" FileInfo currentFileInfo \u003d generateFileInfo(config, filePath);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" setLinesToTrack(currentFileInfo, fileDiffResult);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (currentFileInfo.isFileAnalyzed()) {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" fileInfos.add(currentFileInfo);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Returns a {@link Set} of non-binary files for the repo {@code repoConfig}","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" * if {@code isBinaryFiles} is set to `false`.","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Otherwise, returns a {@link Set} of binary files for the repo {@code repoConfig}.","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Set\u003cPath\u003e getFiles(RepoConfiguration repoConfig, boolean isBinaryFile) {","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" List\u003cString\u003e modifiedFileList \u003d GitDiff.getModifiedFilesList(Paths.get(repoConfig.getRepoRoot()));","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" // Gets rid of files with invalid directory name and filters by the {@code isBinaryFile} flag","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" return modifiedFileList.stream()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .filter(file -\u003e isBinaryFile \u003d\u003d file.startsWith(BINARY_FILE_LINE_DIFF_RESULT))","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .map(file -\u003e StringsUtil.TAB.split(file)[2])","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .filter(FileUtil::isValidPathWithLogging)","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" .map(Paths::get)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .collect(Collectors.toCollection(HashSet::new));","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Analyzes the {@code fileDiffResult} and marks each {@link LineInfo} in {@code fileInfo} on whether they were","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * inserted in between the commit range.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void setLinesToTrack(FileInfo fileInfo, String fileDiffResult) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" String[] linesChangedChunk \u003d fileDiffResult.split(LINE_CHUNKS_SEPARATOR);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lineInfos \u003d fileInfo.getLines();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" int fileLinePointer \u003d 0;","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" for (int sectionIndex \u003d 1; sectionIndex \u003c linesChangedChunk.length; sectionIndex++) {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String linesChangedInSection \u003d linesChangedChunk[sectionIndex];","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":" String[] linesChanged \u003d StringsUtil.NEWLINE.split(linesChangedInSection);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" int startingLineNumber \u003d getStartingLineNumber(linesChanged[LINE_CHANGED_HEADER_INDEX]);","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" // mark all untouched lines between sections as untracked","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c startingLineNumber - 1) {","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" for (int lineIndex \u003d 1; lineIndex \u003c linesChanged.length; lineIndex++) {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" String lineChanged \u003d linesChanged[lineIndex];","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" // set line added to be tracked","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (lineChanged.startsWith(LINE_INSERTED_SYMBOL)) {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(true);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // set all remaining lines in file that were untouched to be untracked","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c lineInfos.size()) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Traverses each file from the repo root directory, generates the {@link FileInfo} for each relevant file found","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * based on {@code config} and inserts it into {@code fileInfos}.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Adds binary files to {@link List} if {@code isBinaryFiles} is true. Otherwise, adds non-binary files","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" * to {@link List}.","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" private List\u003cFileInfo\u003e getAllFileInfo(RepoConfiguration config, boolean isBinaryFiles) {","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e files \u003d getFiles(config, isBinaryFiles);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" for (Path relativePath : files) {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (!config.getFileTypeManager().isInsideWhitelistedFormats(relativePath.toString())","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, relativePath)) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d (isBinaryFiles)","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" ? new FileInfo(relativePath.toString())","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" : generateFileInfo(config, relativePath.toString());","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileInfo.isFileAnalyzed()) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileInfos.add(fileInfo);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileInfos;","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" * file located in the repository given by {@code config}/{@code relativePath}.","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(RepoConfiguration config, String relativePath) {","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" return generateFileInfo(config.getRepoRoot(), relativePath, config.getFileSizeLimit(),","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" config.isFileSizeLimitIgnored(), config.isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" * file located at the {@link Path} given by {@code repoRoot}/{@code relativePath}. {@code fileSizeLimit} and","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" * {@code ignoreFileSizeLimit} are used to set whether the file size limit is exceeding. {@link LineInfo}s are","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" * not included in {@link FileInfo} if {@code skipIgnoredFileAnalysis} is true and file size limit is exceeding.","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(String repoRoot, String relativePath, long fileSizeLimit,","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit, boolean skipIgnoredFileAnalysis) {","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d new FileInfo(relativePath);","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" Path path \u003d Paths.get(repoRoot, fileInfo.getPath());","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader(new FileReader(path.toFile()))) {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" long fileSize \u003d Files.size(path);","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" fileInfo.setFileSize(fileSize);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" if (!ignoreFileSizeLimit \u0026\u0026 fileSize \u003e fileSizeLimit) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" fileInfo.setExceedsSizeLimit(true);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (skipIgnoredFileAnalysis) {","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_ANALYSIS_SKIPPED));","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" fileInfo.setFileAnalyzed(false);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" return fileInfo;","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_EXCLUDED_FROM_REPORT));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" String line;","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" int lineNum \u003d 1;","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" while ((line \u003d br.readLine()) !\u003d null) {","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" fileInfo.addLine(new LineInfo(lineNum++, line));","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, ioe.getMessage(), ioe);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" return fileInfo;","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Returns the starting line changed number, within the file diff result, by matching the pattern inside","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" * {@code linesChanged}.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" * @throws AssertionError if matching line number pattern in chunk header fails.","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" private int getStartingLineNumber(String linesChanged) throws AssertionError {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" Matcher chunkHeaderMatcher \u003d STARTING_LINE_NUMBER_PATTERN.matcher(linesChanged);","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (!chunkHeaderMatcher.find()) {","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" logger.severe(String.format(MATCH_GROUP_FAIL_MESSAGE_FORMAT, \"line changed\", linesChanged));","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Should not have error matching line number pattern inside chunk header!\");","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" return Integer.parseInt(chunkHeaderMatcher.group(STARTING_LINE_NUMBER_GROUP_NAME));","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" * Returns true if {@code filePath} is valid and the file is not in binary (i.e. part of {@code textFilesSet}).","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" private boolean isValidTextFile(String filePath, Set\u003cPath\u003e textFilesSet) {","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" boolean isValidFilePath;","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" isValidFilePath \u003d FileUtil.isValidPathWithLogging(filePath);","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" } catch (InvalidPathException ipe) {","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_INVALID_FILE_PATH, filePath));","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" isValidFilePath \u003d false;","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" return isValidFilePath \u0026\u0026 textFilesSet.contains(Paths.get(filePath));","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":291}},{"path":"src/main/java/reposense/git/GitCatFile.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git cat file related functionalities.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git cat file provides content or type and size information for repository objects.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitCatFile {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitCatFile.class);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Returns parent commits for the commit associated with the input {@code commitHash}.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code commitHash}.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentCommits(String root, String commitHash) throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" String catFileCommand \u003d \"git cat-file -p \" + commitHash;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, catFileCommand);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : StringsUtil.NEWLINE.split(output)) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" if (line.startsWith(\"parent\")) {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" parentCommits.add(line.substring(7).trim());","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" return parentCommits;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" } catch (RuntimeException e) {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Given the input list of {@code commitHashes}, return a list of commit hashes for the parent","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * commits of all the commits.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentsOfCommits(String root, List\u003cString\u003e commitHashes) {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String commitHash : commitHashes) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" parentCommits.addAll(getParentCommits(root, commitHash));","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" logger.warning(\"Invalid commit hash ignored: \" + commitHash);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" return parentCommits;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":60}},{"path":"src/main/java/reposense/git/GitConfig.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git config related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git config is used to set Git configuration values on a global or local","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * project level.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GitConfig {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_KEY \u003d \"filter.lfs.smudge\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_VALUE \u003d \"git-lfs smudge --skip -- %f\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_KEY \u003d \"filter.lfs.process\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_VALUE \u003d \"git-lfs filter-process --skip\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LIST_GLOBAL_CONFIG_COMMAND \u003d \"git config --global --list\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final List\u003cString[]\u003e SKIP_SMUDGE_CONFIG_SETTINGS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_SMUDGE_KEY, FILTER_LFS_SMUDGE_VALUE},","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_PROCESS_KEY, FILTER_LFS_PROCESS_VALUE});","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitConfig.class);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Returns the configuration values for lfs smudge and process within global git config.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * @return a list of string arrays where 0-index is key and 1-index is value.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getGlobalGitLfsConfig() {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" Pattern equals \u003d Pattern.compile(\"\u003d\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" String gitConfig \u003d getGitGlobalConfig();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(gitConfig))","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" .map(equals::split)","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" .filter(line -\u003e line[0].equals(FILTER_LFS_SMUDGE_KEY) || line[0].equals((FILTER_LFS_PROCESS_KEY)))","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, \"Could not get global git lfs config\", re);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Set the global git lfs configuration values. Does not run command if the configuration","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * values are already set to skip.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @param lfsConfigs a list of string arrays where 0-index is key and 1-index is value.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static void setGlobalGitLfsConfig(List\u003cString[]\u003e lfsConfigs) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" String command \u003d setGitLfsConfigCommand(lfsConfigs);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (!command.equals(\"\")) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Delete the global git lfs configuration values.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static void deleteGlobalGitLfsConfig() {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" String command \u003d String.format(\"git config --global --unset %s \u0026\u0026 git config --global --unset %s\",","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" FILTER_LFS_SMUDGE_KEY, FILTER_LFS_PROCESS_KEY);","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static String setGitLfsConfigCommand(List\u003cString[]\u003e lfsConfigs) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cString\u003e commands \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String[] config : lfsConfigs) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" String key \u003d config[0];","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" String value \u003d config.length \u003e 1 ? config[1] : \"\";","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" commands.add(String.format(\"git config --global %s \\\"%s\\\"\", key, value));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return String.join(\" \u0026\u0026 \", commands);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static String getGitGlobalConfig() {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return CommandRunner.runCommand(Paths.get(\".\"), LIST_GLOBAL_CONFIG_COMMAND);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":86}},{"path":"src/main/java/reposense/git/GitDiff.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Contains git diff related functionalities.","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Git diff is responsible for obtaining the changes between commits, commit and working tree, etc.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GitDiff {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String CHECKED_OUT_COMMIT_REFERENCE \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Returns the git diff result of the current commit compared to {@code lastCommitHash}, without any context.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static String diffCommit(String root, String lastCommitHash) {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" return runCommand(rootPath, \"git diff -U0 --ignore-submodules\u003dall \" + lastCommitHash);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Returns a list of committed files with the corresponding number of lines added and deleted in the repo","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * {@code repoRoot}.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getModifiedFilesList(Path repoRoot) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" String diffCommand \u003d String.format(\"git diff --ignore-submodules\u003dall --numstat %s %s\",","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" EMPTY_TREE_HASH, CHECKED_OUT_COMMIT_REFERENCE);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" String diffResult \u003d runCommand(repoRoot.toAbsolutePath(), diffCommand);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(diffResult));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Returns the git diff result of {@code currentCommitHash} compared to {@code baseCommitHash}.","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" public static String diffCommits(String root, String baseCommitHash, String currentCommitHash) {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" return runCommand(rootPath, String.format(\"git diff %s...%s\", baseCommitHash, currentCommitHash));","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":44}},{"path":"src/main/java/reposense/git/GitLog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.StringsUtil.addQuotesForFilePath;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git log related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git log is responsible to obtain the commit logs and the authors\u0027 info.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitLog {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String COMMIT_INFO_DELIMITER \u003d \"(?m)^\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c\\\\n\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String PRETTY_FORMAT_STRING \u003d","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"\\\"\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c%n%H|%n|%p|%n|%aN|%n|%aE|%n|%cI|%n|%s|%n|%w(0,4,4)%b%w(0,0,0)|%n|%D|\\\"\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String DEFAULT_EMAIL_IF_MISSING \u003d \"\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, in the repository specified in {@code config}.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static String get(RepoConfiguration config, Author author) {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --shortstat\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, with the files changed, in the repository specified in","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" * {@code config}. Merge commits are included.","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" public static String getWithFiles(RepoConfiguration config, Author author) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --numstat --shortstat\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns the authors who modified the file at {@code filePath}, in the repository specified in {@code config}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * The output is a list of length-2 arrays containing the author\u0027s name and email.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getFileAuthors(RepoConfiguration config, String filePath) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dformat:\\\"%an\\t%ae\\\" \";","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" command +\u003d \" \" + addQuotesForFilePath(filePath);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" String result \u003d runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(result))","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" .map(StringsUtil.TAB::split)","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .map(authorAndEmailArray -\u003e authorAndEmailArray.length \u003d\u003d 1","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" ? new String[] {authorAndEmailArray[0], DEFAULT_EMAIL_IF_MISSING}","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" : authorAndEmailArray)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Returns the git log result containing the parents of {@code commitHash}.","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" public static String getParentCommits(String root, String commitHash) {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003d%P -1 \";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" command +\u003d commitHash;","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command).trim();","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":89}},{"path":"src/main/java/reposense/git/GitRemote.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git remote related functionality.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git remote is responsible for getting remote repository information.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitRemote {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String DEFAULT_FETCH_REMOTE \u003d \"origin(fetch)\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String DEFAULT_PUSH_REMOTE \u003d \"origin(push)\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitRemote.class);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Extracts remote repository information at {@code repoRoot}.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @return Map of keys of the form REMOTE_NAME(fetch) or REMOTE_NAME(push) to their corresponding remote URLs.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static Map\u003cString, String\u003e getRemotes(String repoRoot) {","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" Pattern anyTabPattern \u003d Pattern.compile(\"[ \\\\t]+\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" String result;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" result \u003d CommandRunner.runCommand(Paths.get(repoRoot), \"git remote -v\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Unable to run git remote command in directory: %s\", repoRoot));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" return remotes;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" Arrays.stream(StringsUtil.NEWLINE.split(result))","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" .map(anyTabPattern::split)","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" .forEach(l -\u003e {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (l.length \u003d\u003d 3) {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" // l[0]: remote name","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" // l[1]: remote URL","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // l[2]: \u0027(fetch)\u0027 | \u0027(push)\u0027","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" remotes.put(l[0] + l[2], l[1]);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return remotes;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Finds an available fetch remote location in a given {@code remoteMap}, checking first for the default fetch","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" * remote (origin).","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * @return an {@code Optional} of an available remote location.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static Optional\u003cString\u003e getAvailableRemoteLocation(Map\u003cString, String\u003e remoteMap) {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (remoteMap.size() \u003d\u003d 0) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Optional.empty();","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String remoteLocation \u003d remoteMap.containsKey(DEFAULT_FETCH_REMOTE)","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // Get default fetch remote if possible","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? remoteMap.get(DEFAULT_FETCH_REMOTE)","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" // Get any available remote otherwise","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" : remoteMap.values().iterator().next();","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return Optional.of(remoteLocation);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"-":70}},{"path":"src/main/java/reposense/git/GitRevList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git rev list related functionalities.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git rev list is responsible for showing commit objects in reverse chronological order.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitRevList {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String REVISION_PATH_SEPARATOR \u003d \" -- \";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Returns the latest commit hash at {@code branchName} before {@code date}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Returns an empty {@code String} if {@code date} is null, or there is no such commit.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @param root The name of the working directory.","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param branchName The name of the branch to find the commit hash in.","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * @param date The cut-off date before which the commit hash must be found.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @param zoneId The timezone of the date.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String getCommitHashUntilDate(String root, String branchName, LocalDateTime date, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (date \u003d\u003d null) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -1 --until\u003d\"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" + GitUtil.GIT_LOG_UNTIL_DATE_FORMAT.format(ZonedDateTime.of(date, zoneId))","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \" \" + branchName + REVISION_PATH_SEPARATOR;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName}, separated by newlines,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * that are within the range of {@code startHash} and {@code endHash}.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Both the {@code startHash} and {@code endHash} are guaranteed to be in the list.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static String getCommitHashInRange(String root, String branchName, String startHash, String endHash) {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (startHash \u003d\u003d null \u0026\u0026 endHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" } else if (startHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" return endHash;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (endHash \u003d\u003d null) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" return startHash;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" String fromStartHash \u003d getAllCommitHashSince(root, branchName, startHash);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" String fromEndHash \u003d getAllCommitHashSince(root, branchName, endHash);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" StringBuilder output \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // If invalid hashes were given, do not use the results obtained from rev-list","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (fromStartHash.equals(\"\") \u0026\u0026 fromEndHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" } else if (fromStartHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" return endHash;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" } else if (fromEndHash.equals(\"\")) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return startHash;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Perform a set difference in the list of commits to get the commits within the given range, since both lists","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // will have the list of commits starting from the given commit to HEAD, hence this removes the overlap part.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" // Also ensure that both hashes are present in the final output","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (fromStartHash.length() \u003e fromEndHash.length()) {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" output.append(endHash);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" output.append(fromStartHash.substring(fromEndHash.length()));","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" output.append(startHash);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" output.append(fromEndHash.substring(fromStartHash.length()));","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" return output.toString();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName} separated by newlines that exist","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" * since {@code hash} until HEAD.","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static String getAllCommitHashSince(String root, String branchName, String hash) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list \" + hash + \"..HEAD \" + branchName + REVISION_PATH_SEPARATOR;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand) + hash;","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" } catch (RuntimeException rte) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" // An invalid commit hash was provided","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return \"\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes for the root commits in the tree, with the {@link Path} given by {@code root}","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * as working directory.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getRootCommits(String root) {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list --max-parents\u003d0 HEAD\";","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(output));","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns true if the repository is empty, with the {@link Path} given by {@code root} as working directory.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean checkIsEmptyRepo(String root) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -n 1 --all\";","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" return output \u003d\u003d null || output.trim().isEmpty();","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":120}},{"path":"src/main/java/reposense/git/GitShortlog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Contains git shortlog related functionalities.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Git shortlog provides a summary of git log output.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class GitShortlog {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Extracts all the author identities from the repository and date range given in {@code config},","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" * with the timezone taken into account.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" public static List\u003cAuthor\u003e getAuthors(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" String summary \u003d getShortlogSummary(","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getSinceDate(), config.getUntilDate(), config.getZoneId());","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (summary.isEmpty()) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Collections.emptyList();","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" String[] lines \u003d StringsUtil.NEWLINE.split(summary);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" return Arrays.stream(lines)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" .map(line -\u003e new Author(StringsUtil.TAB.split(line)[1]))","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Obtains summarized version of git log from the repository at {@code root} for the date range","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" * given by {@code sinceDate} and {@code untilDate}, with {@code zoneId} taken into account for both dates.","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static String getShortlogSummary(String root, LocalDateTime sinceDate, LocalDateTime untilDate,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" ZoneId zoneId) {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dshort\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(sinceDate, untilDate, zoneId);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" command +\u003d \" | git shortlog --summary\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":52}},{"path":"src/main/java/reposense/git/GitShow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.text.ParseException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Contains git show related functionalities.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Git show shows various types of objects.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class GitShow {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitShow.class);","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns expanded form of the {@link CommitHash} associated with the {@code shortCommitHash}, with","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * the {@link Path} given by {@code root} as the working directory.","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code shortCommitHash}.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static CommitHash getExpandedCommitHash(String root, String shortCommitHash) throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%H \" + shortCommitHash;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cCommitHash\u003e commitHashes \u003d Arrays.stream(StringsUtil.NEWLINE.split(output))","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" .map(CommitHash::new).collect(Collectors.toList());","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" if (commitHashes.size() \u003e 1) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"%s can be expanded to %d different commits, \"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"assuming %s refers to commit hash %s\",","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" shortCommitHash, commitHashes.size(), shortCommitHash, commitHashes.get(0)));","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" return commitHashes.get(0);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + shortCommitHash);","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the commit associated with commit hash, with {@link Path} given by {@code root}","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * as the working directory.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for the given {@code commitHash}.","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @throws ParseException if the date string for the given {@code commitHash} could not be parsed into","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static LocalDateTime getCommitDate(String root, String commitHash)","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" throws CommitNotFoundException, ParseException {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%ci \" + commitHash;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss Z\u0027\\n\u0027\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(output, format);","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the earliest commit out of the input list of commits in {@code commitHashes},","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" * with the {@code root} string denoting the working directory.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for a given hash in {@code commitHashes}","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * or if no date string was successfully parsed to a {@link LocalDateTime} for earliest date.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static LocalDateTime getEarliestCommitDate(String root, List\u003cString\u003e commitHashes)","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" throws CommitNotFoundException {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" LocalDateTime earliest \u003d null;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (String hash : commitHashes) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" LocalDateTime date \u003d getCommitDate(root, hash);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null || date.compareTo(earliest) \u003c 0) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" earliest \u003d date;","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" logger.warning(\"Commit not found: \" + hash);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" logger.warning(\"Could not parse date for commit: \" + hash);","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null) {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Date could not be retrieved for all input commits\");","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return earliest;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":101}},{"path":"src/main/java/reposense/model/Author.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.PathMatcher;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents a Git Author.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class Author {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" public static final String NAME_NO_AUTHOR_WITH_COMMITS_FOUND \u003d","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"NO AUTHOR WITH COMMITS FOUND WITHIN THIS PERIOD OF TIME\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String UNKNOWN_AUTHOR_GIT_ID \u003d \"-\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITHUB_EMAIL_DOMAIN \u003d \"@users.noreply.github.com\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITLAB_EMAIL_DOMAIN \u003d \"@users.noreply.gitlab.com\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_EMAIL_PATTERN \u003d \"The provided email, %s, uses uncommon pattern.\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_GLOB_PATTERN \u003d \"The provided ignore glob, %s, uses uncommon pattern.\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String COMMON_EMAIL_REGEX \u003d","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"^([a-zA-Z0-9_\\\\-\\\\.\\\\+]+)@([a-zA-Z0-9_\\\\-\\\\.]+)\\\\.([a-zA-Z]{2,5})$\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String COMMON_GLOB_REGEX \u003d \"^[-a-zA-Z0-9 _/\\\\\\\\*!{}\\\\[\\\\]!(),:.]*$\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final Author UNKNOWN_AUTHOR \u003d new Author(UNKNOWN_AUTHOR_GIT_ID);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final String gitId;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e emails;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private transient String displayName;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e authorAliases;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient PathMatcher ignoreGlobMatcher;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Author(String gitId) {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.displayName \u003d gitId;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.authorAliases \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" public Author(StandaloneAuthor sa) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" String gitId \u003d sa.getGitId();","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d new ArrayList\u003c\u003e(sa.getEmails());","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" String displayName \u003d !sa.getDisplayName().isEmpty() ? sa.getDisplayName() : sa.getGitId();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e authorAliases \u003d sa.getAuthorNames();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d sa.getIgnoreGlobList();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" setEmails(emails);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" setIgnoreGlobList(ignoreGlobList);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public Author(Author another) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.gitId \u003d another.gitId;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.emails \u003d another.emails;","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.displayName \u003d another.gitId;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.authorAliases \u003d another.authorAliases;","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d another.ignoreGlobList;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.ignoreGlobMatcher \u003d another.ignoreGlobMatcher;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code emails} only contains commonly used email patterns.","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static void validateEmails(List\u003cString\u003e emails) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Pattern emailPattern \u003d Pattern.compile(COMMON_EMAIL_REGEX);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String email : emails) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" if (!emailPattern.matcher(email).matches()) {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_EMAIL_PATTERN, email));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreGlobList} only contains commonly used glob patterns.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static void validateIgnoreGlobs(List\u003cString\u003e ignoreGlobList) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" Pattern globPattern \u003d Pattern.compile(COMMON_GLOB_REGEX);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" for (String glob : ignoreGlobList) {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" if (!globPattern.matcher(glob).matches()) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_GLOB_PATTERN, glob));","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" public String getGitId() {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" return gitId;","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getEmails() {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" return emails;","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void setEmails(List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" validateEmails(emails);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e(emails);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" public String getDisplayName() {","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" return displayName;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void setDisplayName(String displayName) {","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getAuthorAliases() {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" return authorAliases;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" public void setAuthorAliases(List\u003cString\u003e authorAliases) {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" return ignoreGlobList;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e(ignoreGlobList);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Validates and adds {@code ignoreGlobList} into the {@link Author} class instance variable without duplicates","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * and updates the ignore glob matcher.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void importIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" ignoreGlobList.forEach(ignoreGlob -\u003e {","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" if (!this.ignoreGlobList.contains(ignoreGlob)) {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.ignoreGlobList.add(ignoreGlob);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Returns true if this author is ignoring the {@code filePath} based on its ignore glob matcher.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean isIgnoringFile(Path filePath) {","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" return ignoreGlobMatcher.matches(filePath);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!(other instanceof Author)) {","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Author otherAuthor \u003d (Author) other;","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" return this.gitId.equalsIgnoreCase(otherAuthor.gitId);","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" return gitId !\u003d null ? gitId.toLowerCase().hashCode() : 0;","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" return gitId;","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" * Updates the {@link PathMatcher} to the new ignore glob list set.","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Called after a new ignore glob list is set.","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" private void updateIgnoreGlobMatcher() {","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" String globString \u003d \"glob:{\" + String.join(\",\", ignoreGlobList) + \"}\";","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" ignoreGlobMatcher \u003d FileSystems.getDefault().getPathMatcher(globString);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" * Adds the standard github and gitlab emails to {@code emails} if not present.","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void addStandardGitHostEmails(List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String standardGitHubEmail \u003d getGitId() + STANDARD_GITHUB_EMAIL_DOMAIN;","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" String standardGitLabEmail \u003d getGitId() + STANDARD_GITLAB_EMAIL_DOMAIN;","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitHubEmail)) {","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" emails.add(standardGitHubEmail);","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitLabEmail)) {","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" emails.add(standardGitLabEmail);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":205}},{"path":"src/main/java/reposense/model/BlurbMap.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import com.fasterxml.jackson.annotation.JsonProperty;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" * Represents the mapping between the repo URL to the associated blurb.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMap {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" @JsonProperty(\"urlBlurbMap\")","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" private final Map\u003cString, String\u003e urlBlurbMap;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap() {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" this.urlBlurbMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" public Map\u003cString, String\u003e getAllMappings() {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" return new HashMap\u003c\u003e(this.urlBlurbMap);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" * Adds a key-value record into the {@code BlurbMap}.","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" * @param key Key value.","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" * @param value Blurb value.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" public void withRecord(String key, String value) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" this.urlBlurbMap.put(key, value);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" @Override","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" public boolean equals(Object obj) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" if (obj \u003d\u003d this) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" return true;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" if (obj instanceof BlurbMap) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap bm \u003d (BlurbMap) obj;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" return bm.urlBlurbMap.equals(this.urlBlurbMap);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" return false;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":46}},{"path":"src/main/java/reposense/model/CliArguments.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Objects;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.parser.ReportConfigJsonParser;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Represents command line arguments user supplied when running the program.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class CliArguments {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" private Path outputFilePath;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private Path assetsFilePath;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isSinceDateProvided;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isUntilDateProvided;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private List\u003cFileType\u003e formats;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" private int numCloningThreads;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" private int numAnalysisThreads;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" private ZoneId zoneId;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private boolean isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private double originalityThreshold;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private boolean isTestMode \u003d ArgsParser.DEFAULT_IS_TEST_MODE;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private boolean isFreshClonePerformed \u003d ArgsParser.DEFAULT_SHOULD_FRESH_CLONE;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private List\u003cString\u003e locations;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private boolean isViewModeOnly;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private Path reportDirectoryPath;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private Path configFolderPath;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Path repoConfigFilePath;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private Path authorConfigFilePath;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private Path groupConfigFilePath;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private Path reportConfigFilePath;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private ReportConfiguration reportConfiguration;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private BlurbMap blurbMap;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs a {@code CliArguments} object without any parameters.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments() {}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" return zoneId;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public Path getOutputFilePath() {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" return outputFilePath;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public Path getAssetsFilePath() {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return assetsFilePath;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return sinceDate;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" return untilDate;","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public boolean isSinceDateProvided() {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" return isSinceDateProvided;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public boolean isUntilDateProvided() {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return isUntilDateProvided;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" return isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getFormats() {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" return formats;","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public boolean isAutomaticallyLaunching() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" return isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public int getNumCloningThreads() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" return numCloningThreads;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" public int getNumAnalysisThreads() {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" return numAnalysisThreads;","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" public boolean isTestMode() {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" return isTestMode;","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" public boolean isFreshClonePerformed() {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" return isFreshClonePerformed;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getLocations() {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" return locations;","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" public Path getReportDirectoryPath() {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" return reportDirectoryPath;","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" public Path getConfigFolderPath() {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" return configFolderPath;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" public Path getRepoConfigFilePath() {","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" return repoConfigFilePath;","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" public Path getAuthorConfigFilePath() {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" return authorConfigFilePath;","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" public Path getGroupConfigFilePath() {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" return groupConfigFilePath;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" public Path getReportConfigFilePath() {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" return reportConfigFilePath;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" public ReportConfiguration getReportConfiguration() {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" return reportConfiguration;","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap getBlurbMap() {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return blurbMap;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" public boolean isViewModeOnly() {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" return isViewModeOnly;","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" public boolean isAuthorshipAnalyzed() {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" return isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" public double getOriginalityThreshold() {","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" return originalityThreshold;","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" if (!(other instanceof CliArguments)) {","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" CliArguments otherCliArguments \u003d (CliArguments) other;","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" return Objects.equals(this.outputFilePath, otherCliArguments.outputFilePath)","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.sinceDate, otherCliArguments.sinceDate)","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.untilDate, otherCliArguments.untilDate)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isSinceDateProvided \u003d\u003d otherCliArguments.isSinceDateProvided","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isUntilDateProvided \u003d\u003d otherCliArguments.isUntilDateProvided","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.formats, otherCliArguments.formats)","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isLastModifiedDateIncluded \u003d\u003d otherCliArguments.isLastModifiedDateIncluded","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isShallowCloningPerformed \u003d\u003d otherCliArguments.isShallowCloningPerformed","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAutomaticallyLaunching \u003d\u003d otherCliArguments.isAutomaticallyLaunching","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isStandaloneConfigIgnored \u003d\u003d otherCliArguments.isStandaloneConfigIgnored","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numCloningThreads \u003d\u003d otherCliArguments.numCloningThreads","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numAnalysisThreads \u003d\u003d otherCliArguments.numAnalysisThreads","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.zoneId, otherCliArguments.zoneId)","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFindingPreviousAuthorsPerformed \u003d\u003d otherCliArguments.isFindingPreviousAuthorsPerformed","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFileSizeLimitIgnored \u003d\u003d otherCliArguments.isFileSizeLimitIgnored","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isTestMode \u003d\u003d otherCliArguments.isTestMode","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFreshClonePerformed \u003d\u003d otherCliArguments.isFreshClonePerformed","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.locations, otherCliArguments.locations)","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isViewModeOnly \u003d\u003d otherCliArguments.isViewModeOnly","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportDirectoryPath, otherCliArguments.reportDirectoryPath)","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.repoConfigFilePath, otherCliArguments.repoConfigFilePath)","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.authorConfigFilePath, otherCliArguments.authorConfigFilePath)","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.groupConfigFilePath, otherCliArguments.groupConfigFilePath)","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportConfigFilePath, otherCliArguments.reportConfigFilePath)","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" \u0026\u0026 Objects.equals(this.blurbMap, otherCliArguments.blurbMap)","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAuthorshipAnalyzed \u003d\u003d otherCliArguments.isAuthorshipAnalyzed","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.originalityThreshold, otherCliArguments.originalityThreshold);","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" * Builder used to build CliArguments.","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static final class Builder {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments cliArguments;","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" public Builder() {","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Adds the {@code outputFilePath} to CliArguments.","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" * @param outputFilePath The output file path.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" public Builder outputFilePath(Path outputFilePath) {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.outputFilePath \u003d outputFilePath;","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" * Adds the {@code assetsFilePath} to CliArguments.","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" * @param assetsFilePath The assets file path.","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" public Builder assetsFilePath(Path assetsFilePath) {","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.assetsFilePath \u003d assetsFilePath;","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Adds the {@code sinceDate} to CliArguments.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" * @param sinceDate The since date.","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Adds the {@code untilDate} to CliArguments.","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * @param untilDate The until date.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" public Builder untilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Adds the {@code isSinceDateProvided} to CliArguments.","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided Is the since date provided.","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" public Builder isSinceDateProvided(boolean isSinceDateProvided) {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isSinceDateProvided \u003d isSinceDateProvided;","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Adds the {@code isUntilDateProvided} to CliArguments.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided Is the until date provided.","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" public Builder isUntilDateProvided(boolean isUntilDateProvided) {","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isUntilDateProvided \u003d isUntilDateProvided;","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" * Adds the {@code formats} to CliArguments.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @param formats The list of {@link FileType}.","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" public Builder formats(List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.formats \u003d formats;","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" * Adds the {@code isLastModifiedDateIncluded} to CliArguments.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" * @param isLastModifiedDateIncluded Is the last modified date included.","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Adds the {@code isShallowCloningPerformed} to CliArguments.","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" * @param isShallowCloningPerformed Is shallow cloning performed.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Adds the {@code isAutomaticallyLaunching} to CliArguments.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" * @param isAutomaticallyLaunching Is automatically launching.","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" public Builder isAutomaticallyLaunching(boolean isAutomaticallyLaunching) {","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isAutomaticallyLaunching \u003d isAutomaticallyLaunching;","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" * Adds the {@code isStandaloneConfigIgnored} to CliArguments.","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" * @param isStandaloneConfigIgnored Is standalone config ignored.","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" * Adds the {@code isFileSizeLimitIgnored} to CliArguments.","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" * @param isFileSizeLimitIgnored Is file size limit ignored.","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" * Adds the {@code numCloningThreads} to CliArguments.","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of cloning threads.","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" public Builder numCloningThreads(int numCloningThreads) {","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numCloningThreads \u003d numCloningThreads;","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" * Adds the {@code numAnalysisThreads} to CliArguments.","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of analysis threads.","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" public Builder numAnalysisThreads(int numAnalysisThreads) {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numAnalysisThreads \u003d numAnalysisThreads;","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" * Adds the {@code zoneId} to CliArguments.","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" * @param zoneId The timezone Id.","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" public Builder zoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" * Adds the {@code isFindingPreviousAuthorsPerformed} to CliArguments.","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" * @param isFindingPreviousAuthorsPerformed Is finding previous authors performed.","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" * Adds the {@code isTestMode} to CliArguments.","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" * @param isTestMode Is test mode.","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" public Builder isTestMode(boolean isTestMode) {","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isTestMode \u003d isTestMode;","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" * Adds the {@code isFreshClonePerformed} to CliArguments.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" * @param isFreshClonePerformed Is fresh clone performed.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" public Builder isFreshClonePerformed(boolean isFreshClonePerformed) {","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFreshClonePerformed \u003d isFreshClonePerformed;","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" * Adds the {@code locations} to CliArguments.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" * @param locations The list of locations.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" public Builder locations(List\u003cString\u003e locations) {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.locations \u003d locations;","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" * Adds the {@code isViewModeOnly} to CliArguments.","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":" * @param isViewModeOnly Is view mode only.","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" public Builder isViewModeOnly(boolean isViewModeOnly) {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isViewModeOnly \u003d isViewModeOnly;","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" * Adds the {@code reportDirectoryPath} to CliArguments.","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" * @param reportDirectoryPath The report directory path.","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" public Builder reportDirectoryPath(Path reportDirectoryPath) {","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportDirectoryPath \u003d reportDirectoryPath;","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Adds the {@code configFolderPath} to CliArguments. {@code configFolderPath} is utilised to configure the","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" * {@code repoConfigFilePath}, {@code authorConfigFilePath}, {@code groupConfigFilePath} and","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" * {@code reportConfigFilePath}.","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" * @param configFolderPath The config folder path.","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" public Builder configFolderPath(Path configFolderPath) {","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.configFolderPath \u003d configFolderPath.equals(EMPTY_PATH)","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" ? configFolderPath.toAbsolutePath()","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" : configFolderPath;","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.repoConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.authorConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.groupConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"asdfghjkxd"},"content":" GroupConfigCsvParser.GROUP_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfigFilePath \u003d configFolderPath.resolve(","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" ReportConfigJsonParser.REPORT_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" * Adds the {@code reportConfiguration} to CliArguments.","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" * @param reportConfiguration The report configuration.","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" public Builder reportConfiguration(ReportConfiguration reportConfiguration) {","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfiguration \u003d reportConfiguration;","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" * Adds the {@code isAuthorshipAnalyzed} to CliArguments.","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" * @param isAuthorshipAnalyzed Is authorship analyzed.","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" public Builder isAuthorshipAnalyzed(boolean isAuthorshipAnalyzed) {","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" this.cliArguments.isAuthorshipAnalyzed \u003d isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" * Adds the {@code originalityThreshold} to CliArguments.","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" * @param originalityThreshold the originality threshold.","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" public Builder originalityThreshold(double originalityThreshold) {","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" this.cliArguments.originalityThreshold \u003d originalityThreshold;","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"asdfghjkxd"},"content":" * Adds the {@code blurbMap} to CliArguments.","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"asdfghjkxd"},"content":" * @param blurbMap The blurb map.","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"asdfghjkxd"},"content":" public Builder blurbMap(BlurbMap blurbMap) {","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.blurbMap \u003d blurbMap;","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" return this;","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" * Builds CliArguments.","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" * @return CliArguments","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" public CliArguments build() {","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"asdfghjkxd"},"content":" CliArguments built \u003d this.cliArguments;","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"asdfghjkxd"},"content":" return built;","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":69,"-":448}},{"path":"src/main/java/reposense/model/CliRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by CLI.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class CliRunConfiguration implements RunConfiguration {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(CliRunConfiguration.class);","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" public CliRunConfiguration(CliArguments cliArguments) {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws ParseException if all repo locations are invalid.","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations() throws ParseException {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" for (String locationString : cliArguments.getLocations()) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" configs.add(","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(locationString))","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build()","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException ile) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, ile.getMessage(), ile);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (configs.isEmpty()) {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" throw new ParseException(\"All repository locations are invalid.\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" return configs;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":43}},{"path":"src/main/java/reposense/model/CommitHash.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Represents a git commit hash in {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class CommitHash {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String COMMIT_HASH_REGEX \u003d \"^[0-9a-f]+$\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String COMMIT_RANGED_HASH_REGEX \u003d \"^[0-9a-f]+\\\\.\\\\.[0-9a-f]+$\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String INVALID_COMMIT_HASH_MESSAGE \u003d","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"The provided commit hash, %s, contains illegal characters.\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private String commit;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public CommitHash(String commit) {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" validateCommit(commit);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.commit \u003d commit;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" return commit;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!(other instanceof CommitHash)) {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" CommitHash otherCommit \u003d (CommitHash) other;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" return this.commit.equals(otherCommit.commit);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" return commit.hashCode();","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Converts all the strings in {@code commits} into {@link CommitHash} objects.","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns null if {@code commits} is null.","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the strings are in invalid formats.","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static List\u003cCommitHash\u003e convertStringsToCommits(List\u003cString\u003e commits) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (commits \u003d\u003d null) {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return commits.stream()","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" .map(CommitHash::new)","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Converts a commit {@code entry} into either itself, or a stream of {@link CommitHash} objects if a range was","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" * provided.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Uses {@code root} as the working directory and {@code branchName} as the branch from which to obtain the hashes.","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static Stream\u003cCommitHash\u003e getHashes(String root, String branchName, CommitHash entry) {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" if (entry.toString().matches(COMMIT_HASH_REGEX)) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return Stream.of(entry);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String[] startAndEnd \u003d entry.toString().split(\"\\\\.\\\\.\");","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" String revList \u003d GitRevList.getCommitHashInRange(root, branchName, startAndEnd[0], startAndEnd[1]);","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(revList))","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" .map(CommitHash::new);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Checks if {@code commitList} contains {@code commitHash}.","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" public static boolean isInsideCommitList(String commitHash, List\u003cCommitHash\u003e commitList) {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" return commitList.stream().map(CommitHash::toString).anyMatch(commitHash::startsWith);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreCommitList} are in valid formats.","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria.","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static void validateCommits(List\u003cString\u003e commits) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" for (String commitHash : commits) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" validateCommit(commitHash);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Checks that {@code commitHash} is in a valid format.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if {@code commitHash} does not meet the criteria.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" private static void validateCommit(String commitHash) throws IllegalArgumentException {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!commitHash.matches(COMMIT_HASH_REGEX) \u0026\u0026 !commitHash.matches(COMMIT_RANGED_HASH_REGEX)) {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(INVALID_COMMIT_HASH_MESSAGE, commitHash));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"}","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":112}},{"path":"src/main/java/reposense/model/ConfigRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by config files.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class ConfigRunConfiguration implements RunConfiguration {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ConfigRunConfiguration.class);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public ConfigRunConfiguration(CliArguments cliArguments) {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * @throws IOException if user-supplied csv file does not exist or is not readable.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if user-supplied repo-config csv is malformed.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if user-supplied csv file has header that cannot be parsed.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" Path authorConfigFilePath \u003d cliArguments.getAuthorConfigFilePath();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path groupConfigFilePath \u003d cliArguments.getGroupConfigFilePath();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (authorConfigFilePath !\u003d null \u0026\u0026 Files.exists(authorConfigFilePath)) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" authorConfigs \u003d new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(repoConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" RepoConfiguration.setHasAuthorConfigFileToRepoConfigs(repoConfigs, true);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (groupConfigFilePath !\u003d null \u0026\u0026 Files.exists(groupConfigFilePath)) {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfigs \u003d new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(repoConfigs, groupConfigs);","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" return repoConfigs;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":69}},{"path":"src/main/java/reposense/model/RepoConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitBranch;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents configuration information from CSV config file for a single repository.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoConfiguration {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String DEFAULT_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DEFAULT_EXTRA_OUTPUT_FOLDER_NAME \u003d \"\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static final long DEFAULT_FILE_SIZE_LIMIT \u003d 500000;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoConfiguration.class);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private RepoLocation location;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private String branch \u003d DEFAULT_BRANCH;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private String displayName;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private String outputFolderName;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private transient String extraOutputFolderName \u003d DEFAULT_EXTRA_OUTPUT_FOLDER_NAME;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient ZoneId zoneId;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private transient LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private transient String repoFolderName;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" private transient FileTypeManager fileTypeManager \u003d new FileTypeManager(Collections.emptyList());","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoredAuthorsList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private transient AuthorConfiguration authorConfig;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isStandaloneConfigIgnored \u003d false;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitIgnored \u003d false;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private transient List\u003cCommitHash\u003e ignoreCommitList \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private transient boolean isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isShallowCloningPerformed \u003d false;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFindingPreviousAuthorsPerformed \u003d false;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFormatsOverriding \u003d false;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private transient boolean isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoreCommitListOverriding \u003d false;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private transient boolean isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" private transient long fileSizeLimit \u003d DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoredFileAnalysisSkipped \u003d false;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs an empty instance of {@code RepoConfiguration}, which is used by the {@code Builder}","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" * to construct new {@code RepoConfiguration} instances.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration() {}","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the necessary configurations for RepoConfiguration.","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" * Obeys the Builder pattern as described in {@link CliArguments}.","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" public static class Builder {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" private String displayName;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" private String outputFolderName;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" private String repoFolderName;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration repoConfiguration;","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" * Returns an empty instance of the RepoConfiguration Builder.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" public Builder() {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the author configuration of the repository.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" private void processAuthor() {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d new AuthorConfiguration(","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location,","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the branch of the repository.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" private void processBranch() {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d this.repoConfiguration.location.isEmpty()","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" ? DEFAULT_BRANCH","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" : this.repoConfiguration.branch;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the relevant names of the repository configs.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" private void processNames() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" String repoName \u003d this.repoConfiguration.location.getRepoName();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" String org \u003d this.repoConfiguration.location.getOrganization();","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" String defaultDisplayName \u003d repoName + \"[\" + this.repoConfiguration.branch + \"]\";","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" String defaultOutputFolderName \u003d repoName + \"_\" + this.repoConfiguration.branch;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" String defaultRepoFolderName \u003d repoName;","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" if (!org.isEmpty()) {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" defaultDisplayName \u003d org + \"/\" + defaultDisplayName;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" defaultRepoFolderName \u003d org + \"_\" + defaultRepoFolderName;","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" defaultOutputFolderName \u003d org + \"_\" + defaultOutputFolderName;","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d Optional.ofNullable(this.displayName)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultDisplayName);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d Optional.ofNullable(this.outputFolderName)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultOutputFolderName);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d Optional.ofNullable(this.repoFolderName)","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultRepoFolderName);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code location} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" * @param location A repository location.","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" public Builder location(RepoLocation location) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location \u003d location;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code branch} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" * @param branch Branch of the repository of interest.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" public Builder branch(String branch) {","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d branch;","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code displayName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" * @param displayName Display name of the repository.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" public Builder displayName(String displayName) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" this.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d displayName;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code outputFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"asdfghjkxd"},"content":" * @param outputFolderName Output folder name of the repository.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" public Builder outputFolderName(String outputFolderName) {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"asdfghjkxd"},"content":" this.outputFolderName \u003d outputFolderName;","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d outputFolderName;","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code extraOutputFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"asdfghjkxd"},"content":" * @param extraOutputFolderName Extra output folder name of the repository.","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" public Builder extraOutputFolderName(String extraOutputFolderName) {","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.extraOutputFolderName \u003d extraOutputFolderName;","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code zoneId} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" * @param zoneId Time-zone of the repository.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" public Builder zoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code sinceDate} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"asdfghjkxd"},"content":" * @param sinceDate Starting date of analysis.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code untilDate} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"asdfghjkxd"},"content":" * @param untilDate Ending date of analysis.","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"asdfghjkxd"},"content":" public Builder untilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code repoFolderName} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":" * @param repoFolderName Folder name of the repository.","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" public Builder repoFolderName(String repoFolderName) {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" this.repoFolderName \u003d repoFolderName;","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d repoFolderName;","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileTypeManager} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileTypes List of file types and groupings permitted.","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileTypeManager(List\u003cFileType\u003e fileTypes) {","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileTypeManager \u003d new FileTypeManager(fileTypes);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreGlobList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredGlobList List of glob patterns to ignore.","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreGlobList(List\u003cString\u003e ignoredGlobList) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreGlobList \u003d ignoredGlobList;","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoredAuthorsList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredAuthorsList List of authors to ignore.","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoredAuthorsList \u003d ignoredAuthorsList;","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code authorConfig} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"asdfghjkxd"},"content":" * @param authorConfig Author configuration information of the repository.","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"asdfghjkxd"},"content":" public Builder authorConfig(AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d authorConfig;","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isStandaloneConfigIgnored} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" * @param isStandaloneConfigIgnored Checks if standalone config is ignored.","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitIgnored} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitIgnored Checks if file size limit is ignored.","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreCommitList} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoreCommitList List of commits to ignore.","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreCommitList \u003d ignoreCommitList;","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isLastModifiedDateIncluded} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"asdfghjkxd"},"content":" * @param isLastModifiedDateIncluded Checks if last modified date is included.","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isShallowCloningPerformed} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" * @param isShallowCloningPerformed Checks if shallow cloning is performed.","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFindingPreviousAuthorsPerformed} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFindingPreviousAuthorsPerformed Checks if finding previous authors is performed.","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFormatsOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFormatsOverriding Checks if file formats are overridden.","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFormatsOverriding(boolean isFormatsOverriding) {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFormatsOverriding \u003d isFormatsOverriding;","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreGlobListOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreGlobListOverriding Checks if the list of ignored glob is overridden.","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreGlobListOverriding(boolean isIgnoreGlobListOverriding) {","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreGlobListOverriding \u003d isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreCommitListOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreCommitListOverriding Checks if the list of ignored commits is overridden.","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreCommitListOverriding(boolean isIgnoreCommitListOverriding) {","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreCommitListOverriding \u003d isIgnoreCommitListOverriding;","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredAuthorsListOverriding Checks if the list of ignored authors is overridden.","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileSizeLimit} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileSizeLimit File size limit of the repository.","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileSizeLimit(long fileSizeLimit) {","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileSizeLimit \u003d fileSizeLimit;","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitOverriding Checks if the file size limit is overridden.","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitOverriding(boolean isFileSizeLimitOverriding) {","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitOverriding \u003d isFileSizeLimitOverriding;","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoredFileAnalysisSkipped} for {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredFileAnalysisSkipped Checks if the analysis of ignored files is skipped.","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredFileAnalysisSkipped(boolean isIgnoredFileAnalysisSkipped) {","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredFileAnalysisSkipped \u003d isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" return this;","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the {@code RepoConfiguration} object with the necessary configurations.","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code RepoConfiguration}.","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":" * @throws ConfigurationBuildException if there was an issue building the {@code RepoConfiguration}","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" * object.","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" public RepoConfiguration build() {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" if (!validate()) {","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" throw new ConfigurationBuildException();","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" this.processAuthor();","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":" this.processBranch();","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" this.processNames();","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" // save a reference to the current built object","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration toReturn \u003d this.repoConfiguration;","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"asdfghjkxd"},"content":" // reset the internal reference to avoid aliasing","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" // return the reference to the built RepoConfiguration object","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"asdfghjkxd"},"content":" return toReturn;","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" * Checks if the current {@code RepoConfiguration} object contains all the necessary parameters","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" * needed to build successfully.","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" * @return true if the {@code RepoConfiguration} object contains all the necessary parameters else false","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" private boolean validate() {","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"asdfghjkxd"},"content":" return Optional.ofNullable(this.repoConfiguration.location).isPresent();","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" public static void setDatesToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" config.setSinceDate(sinceDate);","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" config.setUntilDate(untilDate);","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" public static void setZoneIdToRepoConfigs(List\u003cRepoConfiguration\u003e configs, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" config.setZoneId(zoneId);","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" public static void setIsLastModifiedDateIncludedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" boolean isLastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(isLastModifiedDateIncluded);","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" public static void setIsShallowCloningPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsShallowCloningPerformed(true));","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" public static void setIsFindingPreviousAuthorsPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" if (isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsFindingPreviousAuthorsPerformed(true));","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" public static void setHasAuthorConfigFileToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" boolean setHasAuthorConfigFile) {","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setHasAuthorConfigFile(setHasAuthorConfigFile));","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" * Merges a {@link RepoConfiguration} from {@code repoConfigs} with an {@link AuthorConfiguration} from","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" * {@code authorConfigs} if their {@link RepoLocation} and branch matches.","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" public static void merge(List\u003cRepoConfiguration\u003e repoConfigs, List\u003cAuthorConfiguration\u003e authorConfigs) {","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : authorConfigs) {","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().isEmpty()) {","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" repoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e locationMatchingRepoConfigs \u003d","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" getMatchingRepoConfigsByLocation(repoConfigs, authorConfig.getLocation());","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (locationMatchingRepoConfigs.isEmpty()) {","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\",","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" authorConfig.getLocation()));","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" locationMatchingRepoConfigs.forEach(matchingRepoConfig -\u003e {","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" matchingRepoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" RepoConfiguration branchMatchingRepoConfig \u003d getMatchingRepoConfig(repoConfigs, authorConfig);","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" if (branchMatchingRepoConfig \u003d\u003d null) {","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" if (!authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" \"Repository %s (branch %s) is not found in repo-config.csv.\",","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" authorConfig.getLocation(), authorConfig.getBranch()));","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" branchMatchingRepoConfig.addAuthors(authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" * Sets the list of groups in {@code groupConfigs} to the respective {@code repoConfigs}.","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":" public static void setGroupConfigsToRepos(List\u003cRepoConfiguration\u003e repoConfigs,","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs) {","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : groupConfigs) {","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e matchingRepoConfigs;","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().isEmpty()) {","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d repoConfigs;","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d getMatchingRepoConfigsByLocation(repoConfigs,","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":" groupConfig.getLocation());","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (matchingRepoConfigs.isEmpty()) {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\", groupConfig.getLocation()));","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" matchingRepoConfigs.forEach(matchingRepoConfig -\u003e {","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" matchingRepoConfig.addGroups(groupConfig.getGroupsList());","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" * Iterates through {@code repoConfigs} to find a {@link RepoConfiguration} with {@link RepoLocation} and branch","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" * that matches {@code authorConfig}. Returns {@code null} if no match is found.","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" private static RepoConfiguration getMatchingRepoConfig(List\u003cRepoConfiguration\u003e repoConfigs,","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (repoConfig.getLocation().equals(authorConfig.getLocation())","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":" \u0026\u0026 repoConfig.getBranch().equals(authorConfig.getBranch())) {","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" return repoConfig;","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" return null;","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Returns a list of {@link RepoConfiguration} where the {@link RepoLocation} of a {@link RepoConfiguration}","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" * in the list of {@code configs} matches {@code targetRepoLocation}.","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" private static List\u003cRepoConfiguration\u003e getMatchingRepoConfigsByLocation(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":" RepoLocation targetRepoLocation) {","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" return configs.stream().filter(config -\u003e config.getLocation().equals(targetRepoLocation))","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Sets {@code formats} to {@link RepoConfiguration} in {@code configs} if its format list is empty.","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" public static void setFormatsToRepoConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"-"},"content":" if (!config.fileTypeManager.hasSpecifiedFormats()) {","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"-"},"content":" config.fileTypeManager.setFormats(formats);","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its standalone config, if","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" * {@code ignoreAllStandaloneConfigs} is true.","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" public static void setStandaloneConfigIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" boolean ignoreAllStandaloneConfigs) {","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" if (ignoreAllStandaloneConfigs) {","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setStandaloneConfigIgnored(true));","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its filesize limit, if","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" * {@code ignoreFilesizeLimit} is true.","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" public static void setFileSizeLimitIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit) {","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" if (ignoreFileSizeLimit) {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setFileSizeLimitIgnored(true));","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Checks if any of the {@code configs} is finding previous authors for commit analysis.","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" public static boolean isAnyRepoFindingPreviousAuthors(List\u003cRepoConfiguration\u003e configs) {","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" return configs.stream().anyMatch(RepoConfiguration::isFindingPreviousAuthorsPerformed);","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" * Clears existing information related to this repository and its authors, and replaces it with information from","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" * {@code standaloneConfig}.","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" public void update(StandaloneConfig standaloneConfig) {","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" // only assign the new values when all the fields in {@code standaloneConfig} pass the validations.","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e replacementFileTypes \u003d FileType.convertFormatStringsToFileTypes(standaloneConfig.getFormats());","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" CommitHash.validateCommits(standaloneConfig.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" if (!isIgnoreGlobListOverriding) {","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" ignoreGlobList \u003d standaloneConfig.getIgnoreGlobList();","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" if (!isFormatsOverriding) {","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(replacementFileTypes);","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" if (!isIgnoreCommitListOverriding) {","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":" ignoreCommitList \u003d CommitHash.convertStringsToCommits(standaloneConfig.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" if (!isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" ignoredAuthorsList \u003d standaloneConfig.getIgnoreAuthorList();","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" if (!isFileSizeLimitOverriding) {","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d standaloneConfig.getFileSizeLimit();","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" authorConfig.update(standaloneConfig, ignoreGlobList);","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" * Returns the matching {@link Author} given a {@code name} and an {@code email}.","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":" * If no matching {@link Author} is found, {@link Author#UNKNOWN_AUTHOR} is returned.","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" public Author getAuthor(String name, String email) {","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" return authorConfig.getAuthor(name, email);","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Updates branch with {@code currentBranch} if default branch is specified.","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" public void updateBranch(String currentBranch) {","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" setBranch(currentBranch);","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":" * Gets the current branch and updates branch with current branch if default branch is specified.","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" * @throws GitBranchException if current branch cannot be retrieved.","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":" public void updateBranch() throws GitBranchException {","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(getRepoRoot());","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" setBranch(currentBranch);","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" * Gets the path to the root folder of the repository.","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" public String getRepoRoot() {","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" String path \u003d FileUtil.REPOS_ADDRESS + File.separator + getRepoFolderName() + File.separator;","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" if (!getRepoName().isEmpty()) {","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":" if (!extraOutputFolderName.isEmpty()) {","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" path +\u003d extraOutputFolderName + File.separator;","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" path +\u003d getRepoName() + File.separator;","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" return path;","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" * Gets the name of the folder containing the cloned repository; the parent directory of the repo\u0027s root folder.","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" public String getRepoFolderName() {","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":" return repoFolderName;","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (other \u003d\u003d this) {","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoConfiguration)) {","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"-"},"content":" RepoConfiguration otherRepoConfig \u003d (RepoConfiguration) other;","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" return location.equals(otherRepoConfig.location)","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"-"},"content":" \u0026\u0026 branch.equals(otherRepoConfig.branch)","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.equals(otherRepoConfig.authorConfig)","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoreGlobList.equals(otherRepoConfig.ignoreGlobList)","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoredAuthorsList.equals(otherRepoConfig.ignoredAuthorsList)","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"-"},"content":" \u0026\u0026 fileSizeLimit \u003d\u003d otherRepoConfig.fileSizeLimit","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":" \u0026\u0026 isStandaloneConfigIgnored \u003d\u003d otherRepoConfig.isStandaloneConfigIgnored","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" \u0026\u0026 fileTypeManager.equals(otherRepoConfig.fileTypeManager)","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" \u0026\u0026 isLastModifiedDateIncluded \u003d\u003d otherRepoConfig.isLastModifiedDateIncluded","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" \u0026\u0026 isFormatsOverriding \u003d\u003d otherRepoConfig.isFormatsOverriding","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":" \u0026\u0026 isShallowCloningPerformed \u003d\u003d otherRepoConfig.isShallowCloningPerformed","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreGlobListOverriding \u003d\u003d otherRepoConfig.isIgnoreGlobListOverriding","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreCommitListOverriding \u003d\u003d otherRepoConfig.isIgnoreCommitListOverriding","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredAuthorsListOverriding \u003d\u003d otherRepoConfig.isIgnoredAuthorsListOverriding","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitOverriding \u003d\u003d otherRepoConfig.isFileSizeLimitOverriding","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitIgnored \u003d\u003d otherRepoConfig.isFileSizeLimitIgnored","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredFileAnalysisSkipped \u003d\u003d otherRepoConfig.isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"-"},"content":" public Map\u003cAuthor, String\u003e getAuthorDisplayNameMap() {","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorDisplayNameMap();","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":" public void setAuthorDisplayNameMap(Map\u003cAuthor, String\u003e authorDisplayNameMap) {","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayNameMap(authorDisplayNameMap);","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"-"},"content":" public String getBranch() {","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"-"},"content":" return branch;","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"-"},"content":" public void setBranch(String branch) {","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"-"},"content":" updateDisplayName(branch);","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" updateOutputFolderName(branch);","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"-"},"content":" this.branch \u003d branch;","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" authorConfig.setBranch(branch);","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code displayName} to the current {@code branch}.","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void updateDisplayName(String branch) {","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName.substring(0, displayName.lastIndexOf(\u0027[\u0027) + 1) + branch + \"]\";","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code outputFolderName} to the current {@code branch}.","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" public void updateOutputFolderName(String branch) {","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" this.outputFolderName \u003d outputFolderName.substring(0, outputFolderName.lastIndexOf(\u0027_\u0027) + 1) + branch;","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" return ignoreGlobList;","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d ignoreGlobList;","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e getIgnoreCommitList() {","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" return ignoreCommitList;","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" public long getFileSizeLimit() {","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" return fileSizeLimit;","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void setIgnoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" this.ignoreCommitList \u003d ignoreCommitList;","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoredAuthorsList() {","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" return this.ignoredAuthorsList;","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" public void setIgnoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" this.ignoredAuthorsList \u003d ignoredAuthorsList;","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" public boolean isIgnoredAuthorsListOverriding() {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"-"},"content":" return this.isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void setIsLastModifiedDateIncluded(boolean lastModifiedDateIncluded) {","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":" this.isLastModifiedDateIncluded \u003d lastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":" public void setIsShallowCloningPerformed(boolean isShallowCloningPerformed) {","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"-"},"content":" this.isShallowCloningPerformed \u003d isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" public void setIsFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" this.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"-"},"content":" return this.isLastModifiedDateIncluded;","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":" return this.isShallowCloningPerformed;","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"-"},"content":" public void setIsIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"-"},"content":" this.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" public void removeIgnoredAuthors() {","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"-"},"content":" authorConfig.removeIgnoredAuthors(ignoredAuthorsList);","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"-"},"content":" public List\u003cAuthor\u003e getAuthorList() {","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorList();","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"-"},"content":" public void addAuthor(Author author) {","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" authorConfig.addAuthor(author, this.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"-"},"content":" public void addAuthors(List\u003cAuthor\u003e authorList) {","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"-"},"content":" authorConfig.addAuthors(authorList, this.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":" public void setAuthorConfiguration(AuthorConfiguration authorConfig) {","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"-"},"content":" this.authorConfig \u003d authorConfig;","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" for (Author author : authorConfig.getAuthorList()) {","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"-"},"content":" AuthorConfiguration.propagateIgnoreGlobList(author, ignoreGlobList);","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"-"},"content":" public boolean containsAuthor(Author author) {","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"-"},"content":" return authorConfig.containsAuthor(author);","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":" * Clears authors information and sets the {@code authorList} to {@link RepoConfiguration}.","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"-"},"content":" public void setAuthorList(List\u003cAuthor\u003e authorList) {","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"-"},"content":" authorConfig.clear();","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"-"},"content":" authorConfig.setAuthorList(authorList);","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" authorConfig.buildFromAuthorList();","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" authorList.forEach(author -\u003e AuthorConfiguration.propagateIgnoreGlobList(author, this.getIgnoreGlobList()));","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" public void setHasAuthorConfigFile(boolean hasAuthorConfigFile) {","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"-"},"content":" authorConfig.setHasAuthorConfigFile(hasAuthorConfigFile);","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorNamesToAuthorMap() {","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorNamesToAuthorMap();","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"-"},"content":" public void setAuthorNamesToAuthorMap(Map\u003cString, Author\u003e authorNamesToAuthorMap) {","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"-"},"content":" authorConfig.setAuthorNamesToAuthorMap(authorNamesToAuthorMap);","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorEmailsToAuthorMap() {","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorEmailsToAuthorMap();","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"-"},"content":" public void setAuthorEmailsToAuthorMap(Map\u003cString, Author\u003e authorEmailsToAuthorMap) {","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"-"},"content":" authorConfig.setAuthorEmailsToAuthorMap(authorEmailsToAuthorMap);","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"-"},"content":" public void clearAuthorDetailsToAuthorMap() {","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"-"},"content":" authorConfig.clearAuthorDetailsToAuthorMap();","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"-"},"content":" public void setFormats(List\u003cFileType\u003e formats) {","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(formats);","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"-"},"content":" private void setGroups(List\u003cFileType\u003e groups) {","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"-"},"content":" fileTypeManager.setGroups(groups);","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"-"},"content":" public void addGroups(List\u003cFileType\u003e groups) {","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"-"},"content":" fileTypeManager.addGroups(groups);","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"-"},"content":" * Returns all format or group types (depending on whether the user has specified a custom grouping).","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getAllFileTypes() {","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"-"},"content":" return fileTypeManager.getAllFileTypes();","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"-"},"content":" public FileType getFileType(String fileName) {","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"-"},"content":" return fileTypeManager.getFileType(fileName);","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"-"},"content":" public FileTypeManager getFileTypeManager() {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"-"},"content":" return fileTypeManager;","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"-"},"content":" return sinceDate;","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"-"},"content":" public void setSinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"-"},"content":" return untilDate;","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"-"},"content":" public void setUntilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"-"},"content":" return zoneId;","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"-"},"content":" public void setZoneId(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"-"},"content":" public void setAuthorDisplayName(Author author, String displayName) {","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayName(author, displayName);","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, String name) {","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, name);","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, List\u003cString\u003e names) {","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, names);","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"-"},"content":" public void addAuthorEmailsToAuthorMapEntry(Author author, List\u003cString\u003e emails) {","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"-"},"content":" authorConfig.addAuthorEmailsToAuthorMapEntry(author, emails);","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"-"},"content":" public String getDisplayName() {","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"-"},"content":" return displayName;","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"-"},"content":" public String getRepoName() {","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"-"},"content":" return location.getRepoName();","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"-"},"content":" public String getOutputFolderName() {","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"-"},"content":" return outputFolderName;","isFullCredit":false},{"lineNumber":964,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":965,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":966,"author":{"gitId":"-"},"content":" public void setStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {","isFullCredit":false},{"lineNumber":967,"author":{"gitId":"-"},"content":" this.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":968,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":969,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":970,"author":{"gitId":"-"},"content":" public void setFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":971,"author":{"gitId":"-"},"content":" this.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":972,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":973,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":974,"author":{"gitId":"-"},"content":" public RepoLocation getLocation() {","isFullCredit":false},{"lineNumber":975,"author":{"gitId":"-"},"content":" return location;","isFullCredit":false},{"lineNumber":976,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":977,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":978,"author":{"gitId":"-"},"content":" public String getOrganization() {","isFullCredit":false},{"lineNumber":979,"author":{"gitId":"-"},"content":" return location.getOrganization();","isFullCredit":false},{"lineNumber":980,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":981,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":982,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {","isFullCredit":false},{"lineNumber":983,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;","isFullCredit":false},{"lineNumber":984,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":985,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":986,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {","isFullCredit":false},{"lineNumber":987,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;","isFullCredit":false},{"lineNumber":988,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":989,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":990,"author":{"gitId":"-"},"content":" public boolean isIgnoredFileAnalysisSkipped() {","isFullCredit":false},{"lineNumber":991,"author":{"gitId":"-"},"content":" return isIgnoredFileAnalysisSkipped;","isFullCredit":false},{"lineNumber":992,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":993,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":994,"author":{"gitId":"-"},"content":" public boolean isFormatsOverriding() {","isFullCredit":false},{"lineNumber":995,"author":{"gitId":"-"},"content":" return isFormatsOverriding;","isFullCredit":false},{"lineNumber":996,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":997,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":998,"author":{"gitId":"-"},"content":" public boolean isIgnoreGlobListOverriding() {","isFullCredit":false},{"lineNumber":999,"author":{"gitId":"-"},"content":" return isIgnoreGlobListOverriding;","isFullCredit":false},{"lineNumber":1000,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1001,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1002,"author":{"gitId":"-"},"content":" public boolean isIgnoreCommitListOverriding() {","isFullCredit":false},{"lineNumber":1003,"author":{"gitId":"-"},"content":" return isIgnoreCommitListOverriding;","isFullCredit":false},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1005,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1006,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitOverriding() {","isFullCredit":false},{"lineNumber":1007,"author":{"gitId":"-"},"content":" return isFileSizeLimitOverriding;","isFullCredit":false},{"lineNumber":1008,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1009,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1010,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {","isFullCredit":false},{"lineNumber":1011,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;","isFullCredit":false},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1013,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":1014,"author":{"gitId":"-"},"content":" public AuthorConfiguration getAuthorConfig() {","isFullCredit":false},{"lineNumber":1015,"author":{"gitId":"-"},"content":" return authorConfig;","isFullCredit":false},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":1017,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":400,"-":617}},{"path":"src/main/java/reposense/model/RepoLocation.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.FileUtil.isValidPath;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.net.URI;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitRemote;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents a repository location.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoLocation {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected static final String UNSUPPORTED_DOMAIN_NAME \u003d \"NOT_RECOGNIZED\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_LOCATION \u003d \"%s is an invalid location.\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_REMOTE_URL \u003d \"%s is an invalid remote URL.\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String REPO_NAME_REGEX \u003d \"(?\u003crepoName\u003e[^/]+?)(/?\\\\.git)?/?\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String PATH_TO_REPO_REGEX \u003d \"(?\u003cpath\u003e.*?)/?\" + REPO_NAME_REGEX;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Pattern GIT_REPOSITORY_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(ssh|git|https?|ftps?)://(?\u003cdomain\u003e[^/]*?)/\" + PATH_TO_REPO_REGEX + \"$\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Pattern SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(.*@)?(?\u003cdomain\u003e.*?):(?\u003cpath\u003e[^/].*?)??/??\" + REPO_NAME_REGEX + \"$\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(file://)?\" + PATH_TO_REPO_REGEX + \"$\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN \u003d","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Pattern.compile(\"^\" + PATH_TO_REPO_REGEX.replaceAll(\"/\", \"\\\\\\\\\\\\\\\\\") + \"$\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Pattern DOMAIN_NAME_PATTERN \u003d Pattern.compile(\"^(ww.\\\\.)?+(.*@)?(?\u003cdomainName\u003e[^.]+)\\\\..+$\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String GROUP_REPO_NAME \u003d \"repoName\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String GROUP_PATH \u003d \"path\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN_NAME \u003d \"domainName\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN \u003d \"domain\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String PATH_SEPARATOR_REPLACEMENT \u003d \"-\";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" // Used for remote link generation (serialized)","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private final String location;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private final String repoName;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private final String organization;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private final String domainName;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" // Used for generation of local repository report output directory","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private final transient String outputFolderRepoName;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private final transient String outputFolderOrganization;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Creates {@link RepoLocation} based on the {@code location}, which is represented by a {@code URL}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * or {@link Path}.","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} cannot be represented by a {@code URL} or {@link Path}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public RepoLocation(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" location \u003d StringsUtil.removeTrailingBackslash(location);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.location \u003d location;","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" String[] remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" String[] outputFolderRepoNameAndOrg;","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (location.isEmpty()) {","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d new String[] {\"\", \"\", UNSUPPORTED_DOMAIN_NAME};","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" } else if (isLocalRepo(location)) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d getLocalRepoNameAndOrg(location);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d GitRemote.getRemotes(location);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String newLocation \u003d GitRemote.getAvailableRemoteLocation(remotes).orElse(location);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d remotes.size() \u003d\u003d 0","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" ? outputFolderRepoNameAndOrg","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" : getRemoteRepoNameAndOrg(newLocation);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d getRemoteRepoNameAndOrg(location);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.repoName \u003d remoteRepoNameAndOrg[0];","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.organization \u003d remoteRepoNameAndOrg[1];","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.domainName \u003d remoteRepoNameAndOrg[2];","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.outputFolderRepoName \u003d outputFolderRepoNameAndOrg[0];","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.outputFolderOrganization \u003d outputFolderRepoNameAndOrg[1];","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public boolean isEmpty() {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" return location.isEmpty();","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public String getRepoName() {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" return outputFolderRepoName;","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" public String getOrganization() {","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" return outputFolderOrganization;","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" public String getDomainName() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return domainName;","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Returns true if {@code repoArgument} is a valid local repository argument.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * This implementation follows directly from the {@code git clone}","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://git-scm.com/docs/git-clone#_git_urls\"\u003especification\u003c/a\u003e.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean isLocalRepo(String repoArgument) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (!repoArgument.contains(\":\")) {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean hasSlashBeforeFirstColon \u003d repoArgument.split(\":\", 2)[0].contains(\"/\");","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasSlashBeforeFirstColon) {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" // checks if it is a URL file protocol","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" String urlProtocol \u003d repoArgument.split(\"://\", 2)[0];","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (urlProtocol.equals(\"file\")) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" // catch disk drive arguments such as C:\\","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows() \u0026\u0026 isValidPath(repoArgument)) {","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name and organization from the given local repo {@code location}.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * The return is a length-3 string array with the repo name at index 0, organization at index 1","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * and domain name (unsupported domain) at index 2.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper local repository.","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" private String[] getLocalRepoNameAndOrg(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean isWindows \u003d SystemUtil.isWindows();","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (isWindows) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"file://\", \"\");","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"/\", \"\\\\\\\\\");","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"[|:]\", \"-\");","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Pattern localRepoPattern \u003d isWindows","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" ? LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" : LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN;","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Matcher localRepoMatcher \u003d localRepoPattern.matcher(location);","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (!localRepoMatcher.matches()) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_LOCATION, location));","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_LOCATION, location));","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String tempRepoName \u003d localRepoMatcher.group(GROUP_REPO_NAME);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(localRepoMatcher);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization, UNSUPPORTED_DOMAIN_NAME};","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name, organization and domain name from the given remote repo","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" * {@code location}. The return is a length-3 string array with the repo name at index 0,","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" * organization at index 1 and domain name at index 2.","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper remote repository.","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String[] getRemoteRepoNameAndOrg(String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" Matcher remoteRepoMatcher \u003d GIT_REPOSITORY_LOCATION_PATTERN.matcher(location);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" Matcher sshRepoMatcher \u003d SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN.matcher(location);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" boolean isNormalUrl \u003d remoteRepoMatcher.matches();","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (isNormalUrl) {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" new URI(location);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isValidRemoteRepoUrl \u003d remoteRepoMatcher.matches() || sshRepoMatcher.matches();","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" if (!isValidRemoteRepoUrl) {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" // priority for standard URL matches over SSH as SSH matcher will normally also match standard URL","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" Matcher actualMatcher \u003d remoteRepoMatcher.matches() ? remoteRepoMatcher : sshRepoMatcher;","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String tempRepoName \u003d actualMatcher.group(GROUP_REPO_NAME);","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(actualMatcher);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization,","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" getDomainNameFromDomain(actualMatcher.group(GROUP_DOMAIN))};","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" * Returns the organization string from the {@code matcher} if one exists.","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" * If no match was found for it, returns an empty string instead.","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" private static String getOrganizationFromMatcher(Matcher matcher) {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" return Optional.ofNullable(matcher.group(GROUP_PATH))","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(s -\u003e Paths.get(s).normalize().toString())","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .map(s -\u003e s.replaceAll(Pattern.quote(FileSystems.getDefault().getSeparator()),","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" PATH_SEPARATOR_REPLACEMENT))","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" .orElse(\"\");","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" * Returns the domain name of the URL from the {@code matcher} if it is one of the recognised ones.","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Returns {@code UNRECOGNISED_DOMAIN_NAME} if it is a local repo or not recognised.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the domain specified is not a proper domain name.","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static String getDomainNameFromDomain(String domain) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Matcher domainNameMatcher \u003d DOMAIN_NAME_PATTERN.matcher(domain);","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" if (!domainNameMatcher.matches()) {","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(MESSAGE_INVALID_REMOTE_URL);","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" String domainName \u003d domainNameMatcher.group(GROUP_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" return isSupportedDomainName(domainName)","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" ? domainName","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" : UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" private static boolean isSupportedDomainName(String domainName) {","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" return SupportedDomainUrlMap.isSupportedDomainName(domainName);","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" public String toString() {","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" return location;","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" // short circuit if same object","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" // instanceof handles null","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoLocation)) {","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" RepoLocation otherLocation \u003d (RepoLocation) other;","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" return this.location.equals(otherLocation.location)","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 this.repoName.equals(otherLocation.repoName)","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u0026\u0026 this.organization.equals(otherLocation.organization)","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u0026\u0026 this.domainName.equals(otherLocation.domainName)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderRepoName.equals(otherLocation.outputFolderRepoName)","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderOrganization.equals(otherLocation.outputFolderOrganization);","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" return location.hashCode();","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":271}},{"path":"src/main/java/reposense/model/RunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Interface to get configurations for current RepoSense run.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public interface RunConfiguration {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e getRepoConfigurations()","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" throws ParseException, IOException, InvalidCsvException, InvalidHeaderException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":15}},{"path":"src/main/java/reposense/parser/ArgsParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.ArgumentParsers;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.HelpArgumentAction;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.VersionArgumentAction;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentGroup;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.FeatureControl;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.MutuallyExclusiveGroup;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Namespace;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.RepoSense;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AlphanumericArgumentType;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AnalysisThreadsArgumentType;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AssetsFolderArgumentType;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.CloningThreadsArgumentType;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ConfigFolderArgumentType;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.OutputFolderArgumentType;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.PeriodArgumentType;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ReportFolderArgumentType;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.UntilDateArgumentType;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ZoneIdArgumentType;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"public class ArgsParser {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final String DEFAULT_REPORT_NAME \u003d \"reposense-report\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_CLONING_THREADS \u003d 4;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_ANALYSIS_THREADS \u003d Runtime.getRuntime().availableProcessors();","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_IS_TEST_MODE \u003d false;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_SHOULD_FRESH_CLONE \u003d false;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final double DEFAULT_ORIGINALITY_THRESHOLD \u003d 0.51;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String[] HELP_FLAGS \u003d new String[] {\"--help\", \"-h\"};","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final String[] CONFIG_FLAGS \u003d new String[] {\"--config\", \"-c\"};","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String[] REPO_FLAGS \u003d new String[] {\"--repo\", \"--repos\", \"-r\"};","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final String[] VIEW_FLAGS \u003d new String[] {\"--view\", \"-v\"};","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final String[] OUTPUT_FLAGS \u003d new String[] {\"--output\", \"-o\"};","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final String[] ASSETS_FLAGS \u003d new String[] {\"--assets\", \"-a\"};","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final String[] SINCE_FLAGS \u003d new String[] {\"--since\", \"-s\"};","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" public static final String[] UNTIL_FLAGS \u003d new String[] {\"--until\", \"-u\"};","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final String[] PERIOD_FLAGS \u003d new String[] {\"--period\", \"-p\"};","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" public static final String[] SHALLOW_CLONING_FLAGS \u003d new String[] {\"--shallow-cloning\", \"-S\"};","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final String[] FORMAT_FLAGS \u003d new String[] {\"--formats\", \"-f\"};","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_CONFIG_FLAGS \u003d new String[] {\"--ignore-standalone-config\", \"-i\"};","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_SIZELIMIT_FLAGS \u003d new String[] {\"--ignore-filesize-limit\", \"-I\"};","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" public static final String[] TIMEZONE_FLAGS \u003d new String[] {\"--timezone\", \"-t\"};","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public static final String[] VERSION_FLAGS \u003d new String[] {\"--version\", \"-V\"};","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static final String[] LAST_MODIFIED_DATE_FLAGS \u003d new String[] {\"--last-modified-date\", \"-l\"};","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String[] FIND_PREVIOUS_AUTHORS_FLAGS \u003d new String[] {\"--find-previous-authors\", \"-F\"};","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" public static final String[] CLONING_THREADS_FLAG \u003d new String[] {\"--cloning-threads\"};","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" public static final String[] ANALYSIS_THREADS_FLAG \u003d new String[] {\"--analysis-threads\"};","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static final String[] TEST_MODE_FLAG \u003d new String[] {\"--test-mode\"};","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" public static final String[] FRESH_CLONING_FLAG \u003d new String[] {\"--fresh-cloning\"};","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static final String[] ANALYZE_AUTHORSHIP_FLAGS \u003d new String[] {\"--analyze-authorship\", \"-A\"};","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public static final String[] ORIGINALITY_THRESHOLD_FLAGS \u003d new String[] {\"--originality-threshold\", \"-ot\"};","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ArgsParser.class);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String PROGRAM_USAGE \u003d \"java -jar RepoSense.jar\";","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String PROGRAM_DESCRIPTION \u003d","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"RepoSense is a contribution analysis tool for Git repositories.\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_MUTEX \u003d \"mutual exclusive arguments\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_TESTING \u003d \"test mode arguments\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD \u003d","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\", \\\"Until Date\\\", and \\\"Period\\\" cannot be applied together.\";","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static final String MESSAGE_USING_DEFAULT_CONFIG_PATH \u003d","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"Config path not provided, using the config folder as default.\";","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_PATH \u003d \"%s is malformed.\";","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the report config provided.\";","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" private static final String MESSAGE_INVALID_MARKDOWN_BLURBS \u003d \"%s Ignoring the blurb file provided.\";","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_D1_WITH_PERIOD \u003d \"You may be using --since d1 with the --period flag. \"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" + \"This may result in an incorrect date range being analysed.\";","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE \u003d","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" cannot be later than \\\"Until Date\\\".\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE \u003d","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" must not be later than today\u0027s date.\";","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_CONFIG_PATH \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_ASSETS_PATH \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" + File.separator + \"assets\" + File.separator);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" private static ArgumentParser getArgumentParser() {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d ArgumentParsers","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" .newFor(PROGRAM_USAGE)","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" .addHelp(false)","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" .build()","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" .description(PROGRAM_DESCRIPTION);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser \u003d parser","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" .required(false);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser2 \u003d parser","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" .required(false);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" ArgumentGroup argumentGroup \u003d parser","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" .addArgumentGroup(MESSAGE_HEADER_TESTING);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" // Boolean flags","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" parser.addArgument(HELP_FLAGS)","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" .help(\"Show help message.\")","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" .action(new HelpArgumentAction());","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" parser.version(\"RepoSense \" + RepoSense.getVersion());","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" parser.addArgument(VERSION_FLAGS)","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" .help(\"Show the version of RepoSense.\")","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .action(new VersionArgumentAction());","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_CONFIG_FLAGS)","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" .dest(IGNORE_CONFIG_FLAGS[0])","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the standalone config file in the repo.\");","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_SIZELIMIT_FLAGS)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" .dest(IGNORE_SIZELIMIT_FLAGS[0])","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the filesize limit for analyzed files.\");","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" parser.addArgument(VIEW_FLAGS)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .dest(VIEW_FLAGS[0])","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .nargs(\"?\")","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" .type(new ReportFolderArgumentType())","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" .setConst(EMPTY_PATH)","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" .help(\"Starts a server to display the report in the provided directory. \"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" + \"If used as a flag (with no argument), \"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" + \"generates a report and automatically displays the report.\");","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" parser.addArgument(OUTPUT_FLAGS)","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" .dest(OUTPUT_FLAGS[0])","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" .type(new OutputFolderArgumentType())","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .setDefault(Paths.get(ArgsParser.DEFAULT_REPORT_NAME))","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .help(\"The directory to output the report folder, reposense-report. \"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" + \"If not provided, the report folder will be created in the current working directory.\");","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" parser.addArgument(ASSETS_FLAGS)","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" .dest(ASSETS_FLAGS[0])","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(new AssetsFolderArgumentType())","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ASSETS_PATH)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .help(\"The directory to place assets files to customize report generation. \"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" + \"If not provided, the assets folder in the current working directory will be used.\");","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" parser.addArgument(SINCE_FLAGS)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .dest(SINCE_FLAGS[0])","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .type(new SinceDateArgumentType())","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" .help(\"The date to start filtering.\");","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" parser.addArgument(UNTIL_FLAGS)","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" .dest(UNTIL_FLAGS[0])","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" .type(new UntilDateArgumentType())","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" .help(\"The date to stop filtering.\");","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" parser.addArgument(PERIOD_FLAGS)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" .dest(PERIOD_FLAGS[0])","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" .metavar(\"PERIOD\")","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" .type(new PeriodArgumentType())","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" .help(\"The number of days of the filtering window.\");","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" parser.addArgument(FORMAT_FLAGS)","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" .dest(FORMAT_FLAGS[0])","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" .nargs(\"*\")","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" .metavar(\"FORMAT\")","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .type(new AlphanumericArgumentType())","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .setDefault(Collections.emptyList())","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .help(\"The alphanumeric file formats to process.\\n\"","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" + \"If not provided, default file formats will be used.\\n\"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" + \"Please refer to userguide for more information.\");","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" parser.addArgument(TIMEZONE_FLAGS)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .dest(TIMEZONE_FLAGS[0])","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" .metavar(\"ZONE_ID[±hh[mm]]\")","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" .type(new ZoneIdArgumentType())","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" .setDefault(ZoneId.systemDefault())","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" .help(\"The timezone to use for the generated report. \"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" + \"One kind of valid timezones is relative to UTC. E.g. UTC, UTC+08, UTC-1030. \\n\"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" + \"If not provided, system default timezone will be used.\");","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" parser.addArgument(FIND_PREVIOUS_AUTHORS_FLAGS)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" .dest(FIND_PREVIOUS_AUTHORS_FLAGS[0])","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense utilize Git blame\u0027s ignore revisions functionality, RepoSense \"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" + \"will attempt to blame the line changes caused by commits in the ignore commit list to the \"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" + \"previous authors who altered those lines (if available)\");","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYZE_AUTHORSHIP_FLAGS)","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" .dest(ANALYZE_AUTHORSHIP_FLAGS[0])","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" .help(\"Performs further analysis to distinguish between partial and full credit attribution for \"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" + \"lines of code assigned to the author. A darker background colour represents full credit, \"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" + \"while a lighter background colour represents partial credit.\");","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" parser.addArgument(ORIGINALITY_THRESHOLD_FLAGS)","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" .dest(ORIGINALITY_THRESHOLD_FLAGS[0])","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" .metavar(\"(0.0 ~ 1.0)\")","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" .type(new OriginalityThresholdArgumentType())","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ORIGINALITY_THRESHOLD)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" .help(\"Specifies the cut-off point for partial and full credit when further analysis of authorship \"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" + \"is performed. Author will be given full credit if their contribution exceeds this \"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" + \"threshold, else partial credit is given.\");","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" // Mutex flags - these will always be the last parameters in help message.","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" mutexParser.addArgument(CONFIG_FLAGS)","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" .dest(CONFIG_FLAGS[0])","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" .type(new ConfigFolderArgumentType())","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_CONFIG_PATH)","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .help(\"The directory containing the config files.\"","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" + \"If not provided, the config files will be obtained from the config folder.\");","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" mutexParser.addArgument(REPO_FLAGS)","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" .nargs(\"+\")","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .dest(REPO_FLAGS[0])","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .metavar(\"LOCATION\")","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .help(\"The remote Git host URLs or local directories to clone the repositories from.\");","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(LAST_MODIFIED_DATE_FLAGS)","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" .dest(LAST_MODIFIED_DATE_FLAGS[0])","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" .help(\"A flag to keep track of the last modified date of each line of code.\");","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(SHALLOW_CLONING_FLAGS)","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" .dest(SHALLOW_CLONING_FLAGS[0])","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense employ Git\u0027s shallow cloning functionality, which can significantly \"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" + \"reduce the time taken to clone large repositories. This flag should not be used for \"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" + \"smaller repositories, where the .git file is smaller than 500 MB.\");","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" parser.addArgument(CLONING_THREADS_FLAG)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .dest(CLONING_THREADS_FLAG[0])","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" .type(new CloningThreadsArgumentType())","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_CLONING_THREADS)","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYSIS_THREADS_FLAG)","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" .dest(ANALYSIS_THREADS_FLAG[0])","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" .type(new AnalysisThreadsArgumentType())","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_ANALYSIS_THREADS)","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" // Testing flags","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(TEST_MODE_FLAG)","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" .dest(TEST_MODE_FLAG[0])","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" .help(\"Enables testing mode.\");","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(FRESH_CLONING_FLAG)","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" .dest(FRESH_CLONING_FLAG[0])","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" .help(\"Enables fresh cloning. Requires testing mode to be enabled.\");","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" return parser;","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" * Parses the given string {@code args} to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" * @throws HelpScreenException if given args contain the --help flag. Help message will be printed out","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" * by the {@link ArgumentParser} hence this is to signal to the caller that the program is safe to exit.","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" * @throws ParseException if the given string arguments fails to parse to a {@link CliArguments} object.","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" public static CliArguments parse(String[] args) throws HelpScreenException, ParseException {","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d getArgumentParser();","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Namespace results;","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" results \u003d parser.parseArgs(args);","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" } catch (HelpScreenException hse) {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" throw hse;","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" } catch (ArgumentParserException ape) {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" throw new ParseException(getArgumentParser().formatUsage() + ape.getMessage() + \"\\n\");","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" Path reportFolderPath \u003d results.get(VIEW_FLAGS[0]);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" Path outputFolderPath \u003d results.get(OUTPUT_FLAGS[0]);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Path assetsFolderPath \u003d results.get(ASSETS_FLAGS[0]);","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(results.get(FORMAT_FLAGS[0]));","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d results.get(IGNORE_CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d results.get(IGNORE_SIZELIMIT_FLAGS[0]);","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" boolean shouldIncludeLastModifiedDate \u003d results.get(LAST_MODIFIED_DATE_FLAGS[0]);","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" boolean shouldPerformShallowCloning \u003d results.get(SHALLOW_CLONING_FLAGS[0]);","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" boolean shouldFindPreviousAuthors \u003d results.get(FIND_PREVIOUS_AUTHORS_FLAGS[0]);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" boolean isTestMode \u003d results.get(TEST_MODE_FLAG[0]);","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" boolean isAuthorshipAnalyzed \u003d results.get(ANALYZE_AUTHORSHIP_FLAGS[0]);","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" double originalityThreshold \u003d results.get(ORIGINALITY_THRESHOLD_FLAGS[0]);","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" int numCloningThreads \u003d results.get(CLONING_THREADS_FLAG[0]);","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" int numAnalysisThreads \u003d results.get(ANALYSIS_THREADS_FLAG[0]);","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" CliArguments.Builder cliArgumentsBuilder \u003d new CliArguments.Builder()","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" .configFolderPath(configFolderPath)","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" .reportDirectoryPath(reportFolderPath)","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .outputFilePath(outputFolderPath)","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .zoneId(zoneId)","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" .assetsFilePath(assetsFolderPath)","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" .locations(locations)","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" .formats(formats)","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" .isLastModifiedDateIncluded(shouldIncludeLastModifiedDate)","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" .isShallowCloningPerformed(shouldPerformShallowCloning)","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" .isFindingPreviousAuthorsPerformed(shouldFindPreviousAuthors)","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" .numCloningThreads(numCloningThreads)","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" .numAnalysisThreads(numAnalysisThreads)","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" .isTestMode(isTestMode)","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" .isAuthorshipAnalyzed(isAuthorshipAnalyzed)","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" .originalityThreshold(originalityThreshold);","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" LogsManager.setLogFolderLocation(outputFolderPath);","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)) {","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" logger.info(MESSAGE_USING_DEFAULT_CONFIG_PATH);","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" addReportConfigToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" addBlurbMapToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" addAnalysisDatesToBuilder(cliArgumentsBuilder, results);","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" boolean isViewModeOnly \u003d reportFolderPath !\u003d null","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH)","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0026\u0026 locations \u003d\u003d null;","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isViewModeOnly(isViewModeOnly);","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" boolean isAutomaticallyLaunching \u003d reportFolderPath !\u003d null;","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" if (isAutomaticallyLaunching \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH) \u0026\u0026 !isViewModeOnly) {","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" logger.info(String.format(\"Ignoring argument \u0027%s\u0027 for --view.\", reportFolderPath.toString()));","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isAutomaticallyLaunching(isAutomaticallyLaunching);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" boolean shouldPerformFreshCloning \u003d isTestMode","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" ? results.get(FRESH_CLONING_FLAG[0])","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" : DEFAULT_SHOULD_FRESH_CLONE;","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isFreshClonePerformed(shouldPerformFreshCloning);","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" return cliArgumentsBuilder.build();","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" * Adds the reportConfig field to the given {@code builder}.","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the reportConfig field.","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" private static void addReportConfigToBuilder(CliArguments.Builder builder, Namespace results) {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" // Report config is ignored if --repos is provided","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null) {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" Path reportConfigFilePath \u003d configFolderPath.resolve(ReportConfigJsonParser.REPORT_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" reportConfig \u003d new ReportConfigJsonParser().parse(reportConfigFilePath);","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_PATH, reportConfigFilePath));","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON, iae.getMessage()));","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" // IOException thrown as report-config.json is not found.","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" // Ignore exception as the file is optional.","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" builder.reportConfiguration(reportConfig);","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * Adds the blurbMap field to the given {@code builder}.","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" * @param builder Builder to be supplied with the reportConfig field.","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" private static void addBlurbMapToBuilder(CliArguments.Builder builder, Namespace results) {","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" // Blurbs are parsed regardless","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" Path blurbConfigPath \u003d configFolderPath.resolve(BlurbMarkdownParser.DEFAULT_BLURB_FILENAME);","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" try {","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap \u003d new BlurbMarkdownParser(blurbConfigPath).parse();","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" } catch (InvalidMarkdownException ex) {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" logger.warning(String.format(MESSAGE_INVALID_MARKDOWN_BLURBS, ex.getMessage()));","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" // IOException thrown as blurbs.md is not found.","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":" // Ignore exception as the file is optional.","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" builder.blurbMap(blurbMap);","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" * Adds the sinceDate and untilDate fields for analysis to the given {@code builder}.","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the sinceDate and untilDate fields","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments.","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" * @throws ParseException if all of sinceDate, untilDate and (analysis) period is provided","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" * or if the sinceDate is invalid.","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" private static void addAnalysisDatesToBuilder(CliArguments.Builder builder, Namespace results)","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" throws ParseException {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliSinceDate \u003d results.get(SINCE_FLAGS[0]);","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliUntilDate \u003d results.get(UNTIL_FLAGS[0]);","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" Optional\u003cInteger\u003e cliPeriod \u003d results.get(PERIOD_FLAGS[0]);","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" boolean isSinceDateProvided \u003d cliSinceDate.isPresent();","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" boolean isUntilDateProvided \u003d cliUntilDate.isPresent();","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" boolean isPeriodProvided \u003d cliPeriod.isPresent();","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" if (isSinceDateProvided \u0026\u0026 isUntilDateProvided \u0026\u0026 isPeriodProvided) {","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD);","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" boolean isUsingArbitraryDate \u003d false;","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d TimeUtil.getCurrentDate(zoneId);","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" if (isSinceDateProvided) {","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getSinceDate(cliSinceDate.get());","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" // For --since d1, need to adjust the arbitrary date based on timezone","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" if (TimeUtil.isEqualToArbitraryFirstDateUtc(sinceDate)) {","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" isUsingArbitraryDate \u003d true;","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(zoneId);","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" } else if (isUntilDateProvided) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(cliUntilDate.get(), cliPeriod.get())","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(cliUntilDate.get());","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(currentDate, cliPeriod.get())","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(currentDate);","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" if (isPeriodProvided \u0026\u0026 isUsingArbitraryDate) {","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_SINCE_D1_WITH_PERIOD);","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (isUntilDateProvided) {","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" untilDate \u003d TimeUtil.getUntilDate(cliUntilDate.get());","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" untilDate \u003d (isSinceDateProvided \u0026\u0026 isPeriodProvided)","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" ? TimeUtil.getDatePlusNDays(cliSinceDate.get(), cliPeriod.get())","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" : currentDate;","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" untilDate \u003d untilDate.compareTo(currentDate) \u003c 0","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" ? untilDate","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" : currentDate;","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(currentDate) \u003e 0) {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE);","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(untilDate) \u003e 0) {","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" builder.sinceDate(sinceDate)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" .isSinceDateProvided(isSinceDateProvided)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" .untilDate(untilDate)","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" .isUntilDateProvided(isUntilDateProvided);","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":41,"-":462}},{"path":"src/main/java/reposense/parser/AuthorConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code author-config.csv} file.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AuthorConfigCsvParser extends CsvParser\u003cAuthorConfiguration\u003e {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" public static final String AUTHOR_CONFIG_FILENAME \u003d \"author-config.csv\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in author-config.csv config file.","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String[] GIT_ID_HEADERS \u003d {\"Author\u0027s Git Host ID\", \"Author\u0027s GitHub ID\"};","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String[] EMAIL_HEADER \u003d {\"Author\u0027s Emails\"};","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String[] DISPLAY_NAME_HEADER \u003d {\"Author\u0027s Display Name\"};","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String[] ALIAS_HEADER \u003d {\"Author\u0027s Git Author Name\"};","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public AuthorConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" GIT_ID_HEADERS,","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" LOCATION_HEADER, BRANCH_HEADER, EMAIL_HEADER, DISPLAY_NAME_HEADER, ALIAS_HEADER,","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" IGNORE_GLOB_LIST_HEADER,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link AuthorConfiguration} into {@code results}","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" * but skips {@code author} already exists in a {@link AuthorConfiguration} that has same {@code location}","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" * and {@code branch}.","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cAuthorConfiguration\u003e results, CSVRecord record) throws ParseException {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" List\u003cString\u003e locationsWithBranches \u003d getAsListOrDefault(record, LOCATION_HEADER);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, AuthorConfiguration.DEFAULT_BRANCH);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" String gitId \u003d get(record, GIT_ID_HEADERS);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d getAsList(record, EMAIL_HEADER);","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" String displayName \u003d get(record, DISPLAY_NAME_HEADER);","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases \u003d getAsList(record, ALIAS_HEADER);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsList(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" for (String locationWithBranches : locationsWithBranches) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedLocationWithBranches \u003d AuthorConfigLocationParser","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .parseLocation(locationWithBranches, branch);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" String currLocation \u003d parsedLocationWithBranches.get(0);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c parsedLocationWithBranches.size(); i++) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" String currBranch \u003d parsedLocationWithBranches.get(i);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" registerLocationAndBranch(results, gitId, emails, displayName, aliases,","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" ignoreGlobList, currLocation, currBranch);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Registers an author for a single location and branch with the information","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" * provided by each line.","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" private void registerLocationAndBranch(List\u003cAuthorConfiguration\u003e results, String gitId,","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails, String displayName,","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases, List\u003cString\u003e ignoreGlobList,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" String currLocation, String currBranch) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d findMatchingAuthorConfiguration(results, currLocation, currBranch);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" Author author \u003d new Author(gitId);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (config.containsAuthor(author)) {","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"Skipping author as %s already in repository %s %s\",","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" author.getGitId(), config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" author.setEmails(new ArrayList\u003c\u003e(emails));","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" author.setDisplayName(!displayName.isEmpty() ? displayName : author.getGitId());","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (!aliases.isEmpty()) {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" author.setAuthorAliases(aliases);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (!ignoreGlobList.isEmpty()) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(ignoreGlobList);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" config.addAuthor(author);","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Gets an existing {@link AuthorConfiguration} from {@code results} if {@code location} and {@code branch} matches.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link AuthorConfiguration} into {@code results} and returns it.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" private static AuthorConfiguration findMatchingAuthorConfiguration(List\u003cAuthorConfiguration\u003e results,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" String location, String branch) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d new AuthorConfiguration(new RepoLocation(location), branch);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : results) {","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().equals(config.getLocation())","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.getBranch().equals(config.getBranch())) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return authorConfig;","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" return config;","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":136}},{"path":"src/main/java/reposense/parser/BlurbMarkdownParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.MalformedURLException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.net.URL;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" * Parses the Markdown file and retrieves the mappings from URLs to blurbs from the blurbs","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" * configuration file.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMarkdownParser extends MarkdownParser\u003cBlurbMap\u003e {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern DELIMITER \u003d Pattern.compile(\"\u003c!--repo--\u003e(.*)\");","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" public static final String DEFAULT_BLURB_FILENAME \u003d \"blurbs.md\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private static final class UrlRecord {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private final String url;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private final int nextPosition;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" public UrlRecord(String url, int nextPosition) {","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" this.url \u003d url;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" this.nextPosition \u003d nextPosition;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" public String getUrl() {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" return url;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" public int getNextPosition() {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" return nextPosition;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private static final class BlurbRecord {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private final List\u003cString\u003e blurb;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" private final int nextPosition;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbRecord(List\u003cString\u003e blurb, int nextPosition) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" this.blurb \u003d blurb;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" this.nextPosition \u003d nextPosition;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" public List\u003cString\u003e getBlurb() {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" return blurb;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" public int getNextPosition() {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" return nextPosition;","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMarkdownParser(Path markdownPath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" super(markdownPath);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" /**","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" * Parses the markdown file containing the url to blurb mapping and returns a","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" * {@code BlurbMap} containing the mappings between the url and blurbs.","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code BlurbMap} object.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" * @throws IOException if there are any issues opening or parsing the {@code blurbs.md} file.","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" @Override","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" public BlurbMap parse() throws IOException, InvalidMarkdownException {","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.INFO, \"Parsing Blurbs...\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" // read all the lines first","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e mdLines \u003d Files.readAllLines(this.markdownPath);","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":" // if the file is empty, then we throw the exception and let the adder handle","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" if (mdLines.isEmpty()) {","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" throw new InvalidMarkdownException(\"Empty blurbs.md file\");","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" // prepare the blurb map","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap blurbMap \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" // define temporary local variables to track blurbs","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" String url \u003d \"\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" StringBuilder blurb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" int counter \u003d 0;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" while (counter \u003c mdLines.size()) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" // extract the url record first","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" // this is guaranteed to be in the first line or else we fail","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" UrlRecord urlRecord \u003d this.getUrlRecord(mdLines, counter);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" url \u003d urlRecord.getUrl();","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" counter \u003d urlRecord.getNextPosition();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" // then extract the blurb record next","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" // we extract until the delimiter is found and then we will stop","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" BlurbRecord blurbRecord \u003d this.getBlurbRecord(mdLines, counter);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e blurbExtracted \u003d blurbRecord.getBlurb();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" for (String string : blurbExtracted) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":" blurb.append(string);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" counter \u003d blurbRecord.getNextPosition();","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":" // add the recorded entry into the BlurbMap","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" // strip the trailing /n","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" blurbMap.withRecord(url, blurb.toString().stripTrailing());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" blurb.setLength(0);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":" // return the built BlurbMap instance","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" logger.log(Level.INFO, \"Blurbs parsed successfully!\");","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" return blurbMap;","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" private UrlRecord getUrlRecord(List\u003cString\u003e lines, int position) throws InvalidMarkdownException {","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" // checks if url is valid","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" // adapted from https://www.baeldung.com/java-validate-url","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":" try {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" String url \u003d lines.get(position).strip();","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" new URL(url).toURI();","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" return new UrlRecord(lines.get(position), position + 1);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" } catch (MalformedURLException | URISyntaxException ex) {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" throw new InvalidMarkdownException(\"URL provided is not valid!\");","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" private BlurbRecord getBlurbRecord(List\u003cString\u003e lines, int position) {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" int lineSize \u003d lines.size();","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" int posCounter \u003d position;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cString\u003e blurbs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" while (posCounter \u003c lineSize) {","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" String currLine \u003d lines.get(posCounter);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" if (BlurbMarkdownParser.DELIMITER.matcher(currLine).matches()) {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" break;","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" } else {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" currLine +\u003d \"\\n\";","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" blurbs.add(currLine);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" posCounter++;","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" return new BlurbRecord(blurbs, posCounter + 1);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":151}},{"path":"src/main/java/reposense/parser/ConfigurationBuildException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Signals that there was an issue building a Configuration (missing parameters, etc.).","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class ConfigurationBuildException extends RuntimeException {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":8}},{"path":"src/main/java/reposense/parser/CsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.StringJoiner;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVFormat;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Contains CSV parsing related functionalities.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"public abstract class CsvParser\u003cT\u003e {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" protected static final String COLUMN_VALUES_SEPARATOR \u003d \";\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(CsvParser.class);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String EMPTY_STRING \u003d \"\";","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String OVERRIDE_KEYWORD \u003d \"override:\";","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_LINE \u003d \"[EMPTY LINE]\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNABLE_TO_READ_CSV_FILE \u003d \"Unable to read the supplied CSV file.\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_LINE_FORMAT \u003d \"Line %d in CSV file, %s, is malformed.\\n\"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"Content: %s\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_PARSE_EXCEPTION_FORMAT \u003d \"Error parsing line %d in CSV file, %s.\\n\"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" + \"Content: %s\\n\"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" + \"Error: %s\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_CSV_FORMAT \u003d \"The CSV file, %s, is empty.\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MANDATORY_HEADER_MISSING \u003d \"Required column header, %s, not found in \"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" + \"CSV file, %s\";","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MESSAGE_DUPLICATE_COLUMN_HEADER \u003d \"Duplicate columns are present in CSV file, %s.\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COLUMNS_RECOGNIZED \u003d \"Parsed header of CSV file, %s, and recognized columns: \"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \"%s\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ZERO_VALID_CONFIGS \u003d \"No valid configurations in the %s.\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNKNOWN_COLUMN \u003d \"Unknown column(s) found: %s (%s)\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" private Path csvFilePath;","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private Map\u003cString, Integer\u003e headerMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private int numOfLinesBeforeFirstRecord \u003d 0;","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Creates {@link CsvParser} with given {@code csvFilepath}.","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" * @throws FileNotFoundException if the csv file cannot be found in the provided {@code csvFilePath}.","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" public CsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (csvFilePath \u003d\u003d null || !Files.exists(csvFilePath)) {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new FileNotFoundException(\"Csv file does not exist at the given path.\\n\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.csvFilePath \u003d csvFilePath;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Parses the csv file associated with this instance of the {@link CsvParser} and returns a {@link List}","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" * containing the records in this file.","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws IOException if there are errors accessing the given csv file.","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the csv is malformed.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" public List\u003cT\u003e parse() throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" List\u003cT\u003e results \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Iterable\u003cCSVRecord\u003e records;","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" try (BufferedReader csvReader \u003d new BufferedReader(new FileReader(csvFilePath.toFile()))) {","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" String[] header \u003d getHeader(csvReader);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" records \u003d CSVFormat.Builder.create(CSVFormat.DEFAULT).setIgnoreEmptyLines(false).setHeader(header)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .setTrim(true).setIgnoreHeaderCase(true).build().parse(csvReader);","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" String.format(MESSAGE_DUPLICATE_COLUMN_HEADER, csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" for (CSVRecord record : records) {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (isLineMalformed(record)) {","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" continue;","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" processLine(results, record);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_LINE_PARSE_EXCEPTION_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record), pe.getMessage()));","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, iae.getMessage(), iae);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" throw new IOException(MESSAGE_UNABLE_TO_READ_CSV_FILE, ioe);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (results.isEmpty()) {","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(MESSAGE_ZERO_VALID_CONFIGS, csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" return results;","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Returns the header of a CSV file, which is assumed to be the first non-empty / non-whitespace line in the file","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" * read by {@code reader}.","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" * The line is split into an array of {@code String}s, using the comma symbol as delimiter.","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @throws IOException if there is an error accessing the file.","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the file has only empty or blank lines.","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read.","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" private String[] getHeader(BufferedReader reader) throws IOException, InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" String currentLine \u003d \"\";","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" // read from file until we encounter a line that is neither blank nor empty","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" while (currentLine.isEmpty()) {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" currentLine \u003d Optional.ofNullable(reader.readLine())","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" .map(String::trim)","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" .orElseThrow(() -\u003e new InvalidCsvException(String.format(","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" MESSAGE_EMPTY_CSV_FORMAT, csvFilePath.getFileName())));","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" numOfLinesBeforeFirstRecord++;","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" String[] header \u003d currentLine.split(\",\");","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" validateHeader(header);","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" return header;","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Returns true if {@code record} does not contain the same number of columns as the header or contains missing","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" * values at the mandatory columns in CSV format.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" private boolean isLineMalformed(CSVRecord record) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (!record.isConsistent()) {","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" boolean isLineFormatMalformed \u003d","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).allMatch(header -\u003e get(record, header).isEmpty());","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (isLineFormatMalformed) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column with the header {@code header}.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String header) {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" return headerMap.containsKey(header) ? record.get(headerMap.get(header)).trim() : EMPTY_STRING;","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}.","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" for (String header : equivalentHeaders) {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (headerMap.containsKey(header)) {","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" return record.get(headerMap.get(header)).trim();","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" return EMPTY_STRING;","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} if present, or returns {@code defaultValue} otherwise.","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected String getOrDefault(final CSVRecord record, String[] equivalentHeaders, String defaultValue) {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" return value.isEmpty() ? defaultValue : value;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} as a {@link List} if it is in {@code record} and not empty.","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" * The column is delimited by {@code COLUMN_VALUES_SEPARATOR}.","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Returns an empty {@link List} otherwise.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsList(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" return Collections.emptyList();","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" return Arrays.stream(value.split(COLUMN_VALUES_SEPARATOR))","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" .map(String::trim)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at {@code colNum} as a {@code List},","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" * delimited by {@code COLUMN_VALUES_SEPARATOR} if it is in {@code record} and not empty, or","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * returns a single element List containing the empty string otherwise.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListOrDefault(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e list \u003d getAsList(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" return list.isEmpty() ? Collections.singletonList(\"\") : list;","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" * Returns the values in {@code record} as a list with the {@link CsvParser#OVERRIDE_KEYWORD} prefix removed.","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns an empty list if {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is empty.","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListWithoutOverridePrefix(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cString\u003e data \u003d getAsList(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (isElementOverridingStandaloneConfig(record, equivalentHeaders)) {","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" data.set(0, data.get(0).replaceFirst(OVERRIDE_KEYWORD, \"\"));","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" data.removeIf(String::isEmpty);","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" return data;","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" private long getLineNumber(final CSVRecord record) {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" return record.getRecordNumber() + numOfLinesBeforeFirstRecord;","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Returns true if the {@code record} at the column that match any of the equivalent headers in","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is prefixed with the override keyword.","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected boolean isElementOverridingStandaloneConfig(final CSVRecord record, String[] equivalentHeaders) {","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" return get(record, equivalentHeaders).startsWith(OVERRIDE_KEYWORD);","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Returns the contents of {@code record} as a raw string.","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" private String getRowContentAsRawString(final CSVRecord record) {","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" StringJoiner inputRowString \u003d new StringJoiner(\",\");","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" for (String value : record) {","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" inputRowString.add(value);","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" String contentAsString \u003d inputRowString.toString();","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" return (contentAsString.trim().isEmpty()) ? MESSAGE_EMPTY_LINE : contentAsString;","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Generates map of column header to position number for input {@code possibleHeader}.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if {@code possibleHeader} does not contain all the mandatory headers.","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if a column in {@code possibleHeader} cannot be parsed.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" private void validateHeader(String[] possibleHeader) throws InvalidCsvException, InvalidHeaderException {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" int headerSize \u003d possibleHeader.length;","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Set\u003cString\u003e knownColumns \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" ArrayList\u003cString\u003e unknownColumns \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedHeaders \u003d mandatoryAndOptionalHeaders();","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c headerSize; i++) {","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" String possible \u003d possibleHeader[i].trim();","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" for (String parsedHeader : parsedHeaders) {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (possible.equalsIgnoreCase(parsedHeader)) {","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" headerMap.put(parsedHeader, i);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":" knownColumns.add(possible);","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" break;","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (!knownColumns.contains(possible)) {","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" unknownColumns.add(possible);","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (unknownColumns.size() \u003e 0) {","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.join(\", \", unknownColumns);","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" throw new InvalidHeaderException(","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" String.format(MESSAGE_UNKNOWN_COLUMN, errorMessage, csvFilePath.toString()));","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isAnyEquivalentHeaderPresent \u003d","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).anyMatch(header -\u003e headerMap.containsKey(header));","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (!isAnyEquivalentHeaderPresent) {","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" MESSAGE_MANDATORY_HEADER_MISSING, Arrays.toString(equivalentHeaders),","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" csvFilePath.getFileName()));","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COLUMNS_RECOGNIZED, csvFilePath.getFileName(),","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" String.join(\", \", headerMap.keySet())));","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" protected abstract String[][] mandatoryHeaders();","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" protected abstract String[][] optionalHeaders();","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Gets the list of all mandatory and optional headers that can be parsed.","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e mandatoryAndOptionalHeaders() {","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" return Stream.concat(Arrays.stream(mandatoryHeaders()), Arrays.stream(optionalHeaders()))","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" .flatMap(Stream::of)","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" * Processes the csv file line by line.","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" * All {@link CsvParser}s must use {@link CsvParser#get}, {@link CsvParser#getOrDefault},","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" * {@link CsvParser#getAsList} or {@link CsvParser#getAsListWithoutOverridePrefix} to read contents in","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" * {@code record} and add created objects into {@code results}.","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @throws ParseException if any line does not get read successfully.","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" protected abstract void processLine(List\u003cT\u003e results, final CSVRecord record) throws ParseException;","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":3,"-":339}},{"path":"src/main/java/reposense/parser/GroupConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code group-config.csv} file.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GroupConfigCsvParser extends CsvParser\u003cGroupConfiguration\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String GROUP_CONFIG_FILENAME \u003d \"group-config.csv\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in group-config.csv config file","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String[] GROUP_NAME_HEADER \u003d {\"Group Name\"};","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] FILES_GLOB_HEADER \u003d {\"Globs\"};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public GroupConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" GROUP_NAME_HEADER, FILES_GLOB_HEADER,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" LOCATION_HEADER,","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and adds created {@link GroupConfiguration} into {@code results}.","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cGroupConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" String location \u003d get(record, LOCATION_HEADER);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" String groupName \u003d get(record, GROUP_NAME_HEADER);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cString\u003e globList \u003d getAsList(record, FILES_GLOB_HEADER);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" GroupConfiguration groupConfig \u003d null;","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfig \u003d findMatchingGroupConfiguration(results, location);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" FileType group \u003d new FileType(groupName, globList);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (groupConfig.containsGroup(group)) {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.warning(String.format(","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"Skipping group as %s has already been specified for the repository %s\",","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" group.toString(), groupConfig.getLocation()));","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" groupConfig.addGroup(group);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets an existing {@link GroupConfiguration} from {@code results} if {@code location} matches.","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link GroupConfiguration} into {@code results} and returns it.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid.","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static GroupConfiguration findMatchingGroupConfiguration(List\u003cGroupConfiguration\u003e results,","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" String location) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" GroupConfiguration config \u003d new GroupConfiguration(new RepoLocation(location));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : results) {","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().equals(config.getLocation())) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return groupConfig;","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" return config;","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":92}},{"path":"src/main/java/reposense/parser/MarkdownParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" * Parses Markdown file according to the \"\u003c!--repo--\u003e\" tag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" *","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" * @param \u003cT\u003e Generic Type {@code T}.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":"public abstract class MarkdownParser\u003cT\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(MarkdownParser.class);","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" protected Path markdownPath;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" public MarkdownParser(Path markdownPath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" if (markdownPath \u003d\u003d null || !Files.exists(markdownPath)) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" throw new FileNotFoundException(\"Markdown file does not exist at the given path.\\n\"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" this.markdownPath \u003d markdownPath;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" public abstract T parse() throws IOException, InvalidMarkdownException;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":32}},{"path":"src/main/java/reposense/parser/RepoConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code repo-config.csv} file.","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class RepoConfigCsvParser extends CsvParser\u003cRepoConfiguration\u003e {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String REPO_CONFIG_FILENAME \u003d \"repo-config.csv\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String IGNORE_STANDALONE_CONFIG_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String IGNORE_FILESIZE_LIMIT_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String SKIP_IGNORED_FILE_ANALYSIS_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String SHALLOW_CLONING_CONFIG_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String FIND_PREVIOUS_AUTHORS_KEYWORD \u003d \"yes\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in repo-config.csv config file","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String[] FILE_FORMATS_HEADER \u003d {\"File formats\"};","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_STANDALONE_CONFIG_HEADER \u003d {\"Ignore Standalone Config\"};","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_FILESIZE_LIMIT_HEADER \u003d {\"Ignore File Size Limit\"};","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_COMMIT_LIST_CONFIG_HEADER \u003d {\"Ignore Commits List\"};","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_AUTHOR_LIST_CONFIG_HEADER \u003d {\"Ignore Authors List\"};","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String[] SKIP_IGNORED_FILE_ANALYSIS_HEADER \u003d {\"Skip Ignored File Analysis\"};","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String[] SHALLOW_CLONING_CONFIG_HEADER \u003d {\"Shallow Cloning\"};","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String[] FIND_PREVIOUS_AUTHORS_CONFIG_HEADER \u003d {\"Find Previous Authors\"};","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String[] FILESIZE_LIMIT_HEADER \u003d {\"File Size Limit\"};","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" public RepoConfigCsvParser(Path csvFilePath) throws FileNotFoundException {","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" super(csvFilePath);","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification.","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" LOCATION_HEADER,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" return new String[][] {","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" BRANCH_HEADER, FILE_FORMATS_HEADER, IGNORE_GLOB_LIST_HEADER, IGNORE_STANDALONE_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_HEADER, IGNORE_COMMIT_LIST_CONFIG_HEADER, IGNORE_AUTHOR_LIST_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_HEADER, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER, FILESIZE_LIMIT_HEADER,","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_HEADER","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" };","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link RepoConfiguration} into {@code results} but","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" * ignores duplicated {@link RepoConfiguration} if there exists one that has same {@code location} and","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" * {@code branch}.","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location represented in {@code record} is invalid.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cRepoConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" // The variable expansion is performed to simulate running the same location from command line.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" // This helps to support things like tilde expansion and other Bash/CMD features.","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" RepoLocation location \u003d new RepoLocation(FileUtil.getVariableExpandedFilePath(get(record, LOCATION_HEADER)));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, RepoConfiguration.DEFAULT_BRANCH);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding \u003d isElementOverridingStandaloneConfig(record, FILE_FORMATS_HEADER);","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, FILE_FORMATS_HEADER));","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isIgnoreGlobListOverriding \u003d isElementOverridingStandaloneConfig(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsListWithoutOverridePrefix(record, IGNORE_GLOB_LIST_HEADER);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" boolean isIgnoreCommitListOverriding \u003d","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_COMMIT_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e ignoreCommitList \u003d CommitHash.convertStringsToCommits(","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, IGNORE_COMMIT_LIST_CONFIG_HEADER));","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding \u003d","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoredAuthorsList \u003d getAsListWithoutOverridePrefix(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d matchValueAndKeyword(record, IGNORE_FILESIZE_LIMIT_HEADER,","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_KEYWORD);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped \u003d matchValueAndKeyword(record, SKIP_IGNORED_FILE_ANALYSIS_HEADER,","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_KEYWORD);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored \u0026\u0026 isIgnoredFileAnalysisSkipped) {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring skip ignored file analysis column since file size limit is ignored\");","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" isIgnoredFileAnalysisSkipped \u003d false;","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitOverriding \u003d isElementOverridingStandaloneConfig(record, FILESIZE_LIMIT_HEADER);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" List\u003cString\u003e fileSizeLimitStringList \u003d getAsListWithoutOverridePrefix(record, FILESIZE_LIMIT_HEADER);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" long fileSizeLimit \u003d RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" // If file diff limit is specified","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (fileSizeLimitStringList.size() \u003e 0) {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" String fileSizeLimitString \u003d fileSizeLimitStringList.get(0).trim();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" int parseValue;","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored) {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring file size limit column since file size limit is ignored\");","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" } else if (!StringsUtil.isNumeric(fileSizeLimitString)","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" || (parseValue \u003d Integer.parseInt(fileSizeLimitString)) \u003c\u003d 0) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Values in \\\"%s\\\" column should be positive integers.\",","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" FILESIZE_LIMIT_HEADER[0]));","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d parseValue;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d matchValueAndKeyword(record, IGNORE_STANDALONE_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" IGNORE_STANDALONE_CONFIG_KEYWORD);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed \u003d matchValueAndKeyword(record, SHALLOW_CLONING_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_KEYWORD);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed \u003d matchValueAndKeyword(record, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER,","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" FIND_PREVIOUS_AUTHORS_KEYWORD);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" addConfig(results, location, branch, isFormatsOverriding, formats, isIgnoreGlobListOverriding, ignoreGlobList,","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" isIgnoreCommitListOverriding, ignoreCommitList, isIgnoredAuthorsListOverriding, ignoredAuthorsList,","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" isFileSizeLimitIgnored, isIgnoredFileAnalysisSkipped, isFileSizeLimitOverriding, fileSizeLimit,","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" isStandaloneConfigIgnored, isShallowCloningPerformed, isFindingPreviousAuthorsPerformed);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Returns true if value from {@code record}, that matches any of the equivalent headers in","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}, is the same as the given {@code keyword}, else false.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" private boolean matchValueAndKeyword(CSVRecord record, String[] equivalentHeaders, String keyword) {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" boolean isIgnored \u003d value.equalsIgnoreCase(keyword);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!isIgnored \u0026\u0026 !value.isEmpty()) {","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Ignoring unknown value %s in %s column.\", value, keyword.toLowerCase()));","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" return isIgnored;","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Creates a new {@link RepoConfiguration} with the supplied inputs and attempts to add it to {@code results}.","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Does nothing if the repo already exists in {@code results}.","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" private void addConfig(List\u003cRepoConfiguration\u003e results, RepoLocation location, String branch,","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding, List\u003cFileType\u003e formats, boolean isIgnoreGlobListOverriding,","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList, boolean isIgnoreCommitListOverriding, List\u003cCommitHash\u003e ignoreCommitList,","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding, List\u003cString\u003e ignoredAuthorsList, boolean isFileSizeLimitIgnored,","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped, boolean isFileSizeLimitOverriding, long fileSizeLimit,","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored, boolean isShallowCloningPerformed,","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration config \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" .location(location)","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(formats)","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(ignoreGlobList)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(fileSizeLimit)","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(ignoreCommitList)","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(isFormatsOverriding)","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(isIgnoreGlobListOverriding)","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(isIgnoreCommitListOverriding)","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(isFileSizeLimitOverriding)","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(isShallowCloningPerformed)","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(isFindingPreviousAuthorsPerformed)","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(isIgnoredFileAnalysisSkipped)","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(ignoredAuthorsList)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(isIgnoredAuthorsListOverriding)","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (results.contains(config)) {","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring duplicated repository \" + location + \" \" + branch);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" results.add(config);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":24,"-":178}},{"path":"src/main/java/reposense/parser/exceptions/InvalidCsvException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a major error in a CSV file (e.g. wrong number of columns, zero valid records).","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidCsvException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidCsvException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidHeaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a problem in the header of csv config file.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidHeaderException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidHeaderException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidLocationException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that location cannot be represented by {@code URL} or {@code Path}.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidLocationException extends ParseException {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidLocationException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidMarkdownException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Represents the error thrown when Markdown files cannot be parsed.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class InvalidMarkdownException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" public InvalidMarkdownException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":10}},{"path":"src/main/java/reposense/parser/exceptions/ParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is an exception when parsing a string.","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class ParseException extends Exception {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" public ParseException(String message) {","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/types/AlphanumericArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents an alphanumeric type {@code String} argument.","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class AlphanumericArgumentType implements ArgumentType\u003cString\u003e {","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC \u003d","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"Invalid format. It must be in alphanumeric.\";","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Pattern ALPHANUMERIC_PATTERN \u003d Pattern.compile(\"[A-Za-z0-9]+\");","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public String convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" if (!ALPHANUMERIC_PATTERN.matcher(value).matches()) {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC, value), parser);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" return value;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":26}},{"path":"src/main/java/reposense/parser/types/AnalysisThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class AnalysisThreadsArgumentType implements ArgumentType\u003cInteger\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/AssetsFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --assets} flag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AssetsFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/CloningThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object.","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class CloningThreadsArgumentType implements ArgumentType\u003cInteger\u003e {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/ConfigFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --config} flag.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class ConfigFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"The required config file %s is not found in the specified folder.\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(value).resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME))) {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(String.format(PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME), parser);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":31}},{"path":"src/main/java/reposense/parser/types/DateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class DateArgumentType implements ArgumentType\u003cOptional\u003cLocalDateTime\u003e\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT \u003d \"Invalid Date: %s\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" return Optional.of(TimeUtil.parseDate(value));","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" } catch (java.text.ParseException pe) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT, value), parser);","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":27}},{"path":"src/main/java/reposense/parser/types/OutputFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --output} flag.","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class OutputFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanWrite()","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" .or()","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" .verifyNotExists().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" return Paths.get(value).resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":23}},{"path":"src/main/java/reposense/parser/types/PeriodArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted period to an integer.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class PeriodArgumentType implements ArgumentType\u003cOptional\u003cInteger\u003e\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC \u003d","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be in the format of nd (n days) or nw (n weeks), \"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" + \"where n is a number greater than 0.\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO \u003d","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be greater than 0.\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE \u003d","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"Invalid format. Input number may be too large.\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Pattern PERIOD_PATTERN \u003d Pattern.compile(\"[0-9]+[dw]\");","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" public Optional\u003cInteger\u003e convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" return parse(value);","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(pe.getMessage(), parser);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Parses a {@code period} String and returns an {@link Integer} representing the number of days.","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" * @throws ParseException if period format or number is invalid.","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static Optional\u003cInteger\u003e parse(String period) throws ParseException {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!PERIOD_PATTERN.matcher(period).matches()) {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC, period));","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" int multiplier \u003d period.substring(period.length() - 1).equals(\"d\") ? 1 : 7;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" int convertedValue \u003d Integer.parseInt(period.substring(0, period.length() - 1)) * multiplier;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (convertedValue \u003c\u003d 0) {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO, period));","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" return Optional.of(convertedValue);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (NumberFormatException e) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE, period));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":55}},{"path":"src/main/java/reposense/parser/types/ReportFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --view} flag.","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class ReportFolderArgumentType implements ArgumentType\u003cPath\u003e {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/SinceDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted since date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SinceDateArgumentType extends DateArgumentType {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" /*","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" * When user specifies \"d1\", arbitrary first commit date will be returned.","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" * This date is equivalent to 1970-01-01 00:00:00 in UTC time.","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Then, ReportGenerator will replace the arbitrary since date with the earliest commit date.","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FIRST_COMMIT_DATE_SHORTHAND \u003d \"d1\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final ZonedDateTime ARBITRARY_FIRST_COMMIT_DATE_UTC \u003d ZonedDateTime.ofInstant(","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" Instant.ofEpochMilli(0), ZoneId.of(\"Z\"));","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final LocalDateTime ARBITRARY_FIRST_COMMIT_DATE_LOCAL \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" .toLocalDateTime();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" * Returns an arbitrary year {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL} if user specifies","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" * {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND} in {@code value}, or attempts to return the","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" * desired date otherwise.","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws ArgumentParserException if the given date cannot be parsed.","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (FIRST_COMMIT_DATE_SHORTHAND.equals(value)) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" return Optional.of(ARBITRARY_FIRST_COMMIT_DATE_LOCAL);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" String sinceDate \u003d TimeUtil.extractDate(value);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, sinceDate + \" 00:00:00\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL}, which is the","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * {@link LocalDateTime} of {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC}.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_LOCAL;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC} adjusted for the time zone based on","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" * {@code toZoneId} and converted to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(toZoneId).toLocalDateTime();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"src/main/java/reposense/parser/types/UntilDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted until date to a {@link LocalDateTime} object.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class UntilDateArgumentType extends DateArgumentType {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" throws ArgumentParserException {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" String untilDate \u003d TimeUtil.extractDate(value);","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, untilDate + \" 23:59:59\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/ZoneIdArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.DateTimeException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted zone id to a {@link ZoneId} object.","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class ZoneIdArgumentType implements ArgumentType\u003cZoneId\u003e {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String MESSAGE_TIMEZONE_INVALID \u003d","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"The timezone provided is invalid, please use a more widely accepted format. E.g. UTC[±hh[mm]]\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public ZoneId convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" return ZoneId.of(value);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" } catch (DateTimeException dte) {","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(MESSAGE_TIMEZONE_INVALID, parser);","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":25}},{"path":"src/main/java/reposense/report/ReportGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.InputStream;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.PrintWriter;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.StringWriter;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.HashMap;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Iterator;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.Optional;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.concurrent.CompletableFuture;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.concurrent.ExecutorService;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.concurrent.Executors;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import java.util.logging.Level;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.RepoSense;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.authorship.AuthorshipReporter;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.authorship.model.AuthorshipSummary;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.commits.CommitsReporter;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.commits.model.CommitContributionSummary;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"import reposense.git.GitClone;","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"import reposense.git.GitRevParse;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"import reposense.git.GitShortlog;","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitCloneException;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"import reposense.parser.StandaloneConfigJsonParser;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"import reposense.report.exception.NoAuthorsWithCommitsFoundException;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"import reposense.util.ProgressTracker;","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Contains report generation related functionalities.","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"public class ReportGenerator {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FOLDER \u003d \"_reposense\";","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FILE \u003d \"config.json\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ReportGenerator.class);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" // zip file which contains all the report template files","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEMPLATE_FILE \u003d \"/templateZip.zip\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the config provided by %s (%s).\";","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ERROR_CREATING_DIRECTORY \u003d","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"Error has occurred while creating repo directory for %s (%s), will skip this repo.\";","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_STANDALONE_CONFIG \u003d \"%s (%s) does not contain a standalone config file.\";","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final String MESSAGE_IGNORING_STANDALONE_CONFIG \u003d \"Ignoring standalone config file in %s (%s).\";","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_STANDALONE_CONFIG \u003d \"%s/%s/%s is malformed for %s (%s).\";","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_SPECIFIED \u003d","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"%s (%s) has no authors specified, using all authors by default.\";","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND \u003d","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"No authors found with commits for %s (%s).\";","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_ANALYSIS \u003d \"Analyzing %s (%s)...\";","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPLETE_ANALYSIS \u003d \"Analysis of %s (%s) completed!\";","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final String MESSAGE_REPORT_GENERATED \u003d \"The report is generated at %s\";","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final String MESSAGE_BRANCH_DOES_NOT_EXIST \u003d \"Branch %s does not exist in %s! Analysis terminated.\";","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MISSING_TEMPLATE \u003d","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"Unable to find template file. Proceeding to generate report...\";","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING \u003d \"Failed to clone from %s\";","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_EXPANDING_COMMIT \u003d \"Cannot expand %s, it shall remain unexpanded\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String LOG_BRANCH_DOES_NOT_EXIST \u003d \"Branch \\\"%s\\\" does not exist.\";","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING_OR_BRANCHING \u003d \"Exception met while cloning or checking out.\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" private static final String LOG_UNEXPECTED_ERROR \u003d \"Unexpected error stack trace for %s:\\n\u003e%s\";","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e assetsFilesWhiteList \u003d","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" Collections.unmodifiableList(Arrays.asList(new String[] {\"favicon.ico\", \"title.md\"}));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" private LocalDateTime earliestSinceDate \u003d null;","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private ProgressTracker progressTracker \u003d null;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Generates the authorship and commits JSON file for each repo in {@code configs} at {@code outputPath}, as","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" * well as the summary JSON file of all the repos.","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @param configs The list of repos to analyze.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @param outputPath The location at which to save the report.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * @param assetsPath The location at which assets for generating the report are stored.","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * @param reportConfig The config for the output report.","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * @param generationDate The time at which the report was generated.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @param cliSinceDate The date-time from which to start analyzing commits.","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @param untilDate The cut-off date-time for analyzing commits.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided The boolean variable for whether client provided a sinceDate.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided The boolean variable for whether client provided an untilDate.","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of threads to use to clone the repos.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of threads to use to analyze the repos.","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @param reportGenerationTimeProvider Supplier for time taken to generate the report.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * @param zoneId The timezone to adjust all date-times to.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @param shouldFreshClone The boolean variable for whether to clone a repo again during tests.","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * @param shouldAnalyzeAuthorship The boolean variable for whether to further analyze authorship.","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * @param originalityThreshold The double variable for originality threshold in analyze authorship.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" * @param blurbMap The {@code BlurbMap}.","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @return the list of file paths that were generated.","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws IOException if templateZip.zip does not exist in jar file.","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" * @throws InvalidMarkdownException if the blurb markdown file cannot be parsed properly.","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" public List\u003cPath\u003e generateReposReport(List\u003cRepoConfiguration\u003e configs, String outputPath, String assetsPath,","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig, String generationDate, LocalDateTime cliSinceDate,","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" LocalDateTime untilDate, boolean isSinceDateProvided, boolean isUntilDateProvided, int numCloningThreads,","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" int numAnalysisThreads, Supplier\u003cString\u003e reportGenerationTimeProvider, ZoneId zoneId,","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" boolean shouldFreshClone, boolean shouldAnalyzeAuthorship, double originalityThreshold, BlurbMap blurbMap)","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" throws IOException, InvalidMarkdownException {","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" prepareTemplateFile(outputPath);","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(assetsPath))) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" FileUtil.copyDirectoryContents(assetsPath, outputPath, assetsFilesWhiteList);","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d null;","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" progressTracker \u003d new ProgressTracker(configs.size());","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d cloneAndAnalyzeRepos(configs, outputPath, numCloningThreads,","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" numAnalysisThreads, shouldFreshClone, shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" LocalDateTime reportSinceDate \u003d (TimeUtil.isEqualToArbitraryFirstDateConverted(cliSinceDate, zoneId))","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" ? earliestSinceDate : cliSinceDate;","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" Optional\u003cPath\u003e summaryPath \u003d FileUtil.writeJsonFile(","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" new SummaryJson(configs, reportConfig, generationDate,","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportSinceDate, untilDate, isSinceDateProvided,","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" isUntilDateProvided, RepoSense.getVersion(), ErrorSummary.getInstance().getErrorSet(),","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" reportGenerationTimeProvider.get(), zoneId, shouldAnalyzeAuthorship, blurbMap),","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" getSummaryResultPath(outputPath));","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" summaryPath.ifPresent(reportFoldersAndFiles::add);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_REPORT_GENERATED, outputPath));","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" return reportFoldersAndFiles;","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Copies the template file to the specified {@code outputPath} for the repo report to be generated.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @throws IOException if I/O error encountered while copying template file.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void prepareTemplateFile(String outputPath) throws IOException {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" InputStream is \u003d RepoSense.class.getResourceAsStream(TEMPLATE_FILE);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" if (is !\u003d null) {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" FileUtil.copyTemplate(is, outputPath);","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_MISSING_TEMPLATE);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" * Groups {@link RepoConfiguration} with the same {@link RepoLocation} together so that they are only cloned once.","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" private Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e groupConfigsByRepoLocation(","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs) {","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d new HashMap\u003c\u003e();","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoLocation location \u003d config.getLocation();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (!repoLocationMap.containsKey(location)) {","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" repoLocationMap.put(location, new ArrayList\u003c\u003e());","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" repoLocationMap.get(location).add(config);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" return repoLocationMap;","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" * Clone, analyze and generate the report for repositories in {@code repoLocationMap}.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Performs cloning and analysis of each repository in parallel, and generates the report.","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" * Also removes any configs that failed to clone or analyze from {@code configs}.","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" * By default, runs in multi-threaded mode with {@code numCloningThreads} threads for cloning","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" * and {@code numAnalysisThreads} threads for analysis.","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" * To turn off multi-threading, run the program with the flags","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code --cloning-threads 1 --analysis-threads 1}.","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false.","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for each repository.","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e cloneAndAnalyzeRepos(List\u003cRepoConfiguration\u003e configs, String outputPath, int numCloningThreads,","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" int numAnalysisThreads, boolean shouldFreshClone, boolean shouldAnalyzeAuthorship,","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" double originalityThreshold) {","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d groupConfigsByRepoLocation(configs);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e repoLocationList \u003d new ArrayList\u003c\u003e(repoLocationMap.keySet());","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" // Fixed thread pools are used to limit the number of threads used by cloning and analysis jobs at any one time","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" ExecutorService cloneExecutor \u003d Executors.newFixedThreadPool(numCloningThreads);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" ExecutorService analyzeExecutor \u003d Executors.newFixedThreadPool(numAnalysisThreads);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" List\u003cCompletableFuture\u003cAnalyzeJobOutput\u003e\u003e analyzeJobFutures \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" for (RepoLocation location : repoLocationList) {","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configsToAnalyze \u003d repoLocationMap.get(location);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" // The `CompletableFuture.supplyAsync` method is used to clone the repo in parallel.","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" // Note that the `cloneExecutor` is passed as a parameter to ensure that the number of threads used","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" // for cloning is no more than `numCloningThreads`.","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" CompletableFuture\u003cCloneJobOutput\u003e cloneFuture \u003d CompletableFuture.supplyAsync(() -\u003e","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" cloneRepo(configsToAnalyze.get(0), location, shouldFreshClone), cloneExecutor);","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" // The `thenApplyAsync` method is used to analyze the cloned repo in parallel.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" // This ensures that the analysis job for each repo will only be run after the repo has been cloned.","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" // Note that the `analyzeExecutor` is passed as a parameter to ensure that the number of threads used","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" // for analysis is no more than `numAnalysisThreads`.","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" CompletableFuture\u003cAnalyzeJobOutput\u003e analyzeFuture \u003d cloneFuture.thenApplyAsync(","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" cloneJobOutput -\u003e analyzeRepos(outputPath, configsToAnalyze, cloneJobOutput,","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold),","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" analyzeExecutor);","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" analyzeJobFutures.add(analyzeFuture);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" // Next, we collect the list of outputs from all the analyze jobs","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cAnalyzeJobOutput\u003e jobOutputs \u003d analyzeJobFutures.stream()","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" .map(CompletableFuture::join)","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" // Finally, the ExecutorService objects are shut down to prevent memory leaks","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cloneExecutor.shutdown();","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" analyzeExecutor.shutdown();","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d jobOutputs","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getFiles().stream())","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e cloneFailLocations \u003d jobOutputs","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" .filter(jobOutput -\u003e !jobOutput.isCloneSuccessful())","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .map(AnalyzeJobOutput::getLocation)","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" cloneFailLocations.forEach(location -\u003e handleCloningFailed(configs, location));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d jobOutputs","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" .stream()","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getAnalyseErrors().stream())","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" analysisErrors.forEach(errorInfo -\u003e","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" handleAnalysisFailed(configs, errorInfo.getFailedConfig(), errorInfo.getErrorMessage()));","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" repoCloner.cleanup();","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" * Clones repo specified by {@code config} at {@code location}.","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false.","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @return A {@link CloneJobOutput} object comprising the {@code location} of the repo, whether the cloning was","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" * successful, and the {@code defaultBranch} of the repo.","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" private CloneJobOutput cloneRepo(RepoConfiguration config, RepoLocation location, boolean shouldFreshClone) {","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(config, shouldFreshClone);","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" if (clonedRepoLocation !\u003d null) {","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" String defaultBranch \u003d repoCloner.getCurrentRepoDefaultBranch();","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location, defaultBranch);","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Analyzes all repos in {@code configsToAnalyze} and generates their report at {@code outputPath}.","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" * Uses {@code cloneJobOutput} to find repo location, default branch and whether cloning was successful.","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" * @return An {@link AnalyzeJobOutput} object comprising the {@code location} of the repo, whether the cloning was","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" * successful, the list of {@code generatedFiles} by the analysis and a list of {@code analysisErrors} encountered.","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" private AnalyzeJobOutput analyzeRepos(String outputPath, List\u003cRepoConfiguration\u003e configsToAnalyze,","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" CloneJobOutput cloneJobOutput, boolean shouldAnalyzeAuthorship, double originalityThreshold) {","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" RepoLocation location \u003d cloneJobOutput.getLocation();","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" boolean cloneSuccessful \u003d cloneJobOutput.isCloneSuccessful();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" if (!cloneSuccessful) {","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" for (RepoConfiguration configToAnalyze : configsToAnalyze) {","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" progressTracker.incrementProgress();","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" configToAnalyze.updateBranch(cloneJobOutput.getDefaultBranch());","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" Path repoReportDirectory \u003d Paths.get(outputPath, configToAnalyze.getOutputFolderName());","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" logger.info(String.format(progressTracker.getProgress() + \" \" + MESSAGE_START_ANALYSIS,","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" GitRevParse.assertBranchExists(configToAnalyze, FileUtil.getBareRepoPath(configToAnalyze));","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":" GitClone.cloneFromBareAndUpdateBranch(Paths.get(\".\"), configToAnalyze);","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" FileUtil.createDirectory(repoReportDirectory);","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" generatedFiles.addAll(analyzeRepo(configToAnalyze, repoReportDirectory.toString(),","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold));","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" String logMessage \u003d String.format(MESSAGE_ERROR_CREATING_DIRECTORY,","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch());","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, logMessage, ioe);","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" } catch (GitBranchException gbe) {","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, String.format(MESSAGE_BRANCH_DOES_NOT_EXIST,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" configToAnalyze.getBranch(), configToAnalyze.getLocation()), gbe);","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" String.format(LOG_BRANCH_DOES_NOT_EXIST, configToAnalyze.getBranch())));","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" } catch (GitCloneException gce) {","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze, LOG_ERROR_CLONING_OR_BRANCHING));","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" } catch (NoAuthorsWithCommitsFoundException nafe) {","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND,","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" generatedFiles.addAll(generateEmptyRepoReport(repoReportDirectory.toString(),","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND));","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" generateEmptyRepoReport(repoReportDirectory.toString(), Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND);","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" } catch (Exception e) {","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" StringWriter sw \u003d new StringWriter();","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" e.printStackTrace(new PrintWriter(sw));","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, sw.toString());","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" String.format(LOG_UNEXPECTED_ERROR, configToAnalyze.getLocation(), sw.toString())));","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" * Analyzes repo specified by {@code config} and generates the report at {@code repoReportDirectory}.","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" * Further analyzes the authorship of each line in the commit if {@code shouldAnalyzeAuthorship} is true, based on","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" * {@code originalityThreshold}.","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for the repo specified by {@code config}.","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo.","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e analyzeRepo(RepoConfiguration config, String repoReportDirectory,","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" boolean shouldAnalyzeAuthorship, double originalityThreshold) throws NoAuthorsWithCommitsFoundException {","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" // preprocess the config and repo","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" updateRepoConfig(config);","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" updateAuthorList(config);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" updateIgnoreCommitList(config);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" if (config.isFindingPreviousAuthorsPerformed()) {","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" generateIgnoreRevsFile(config);","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" AuthorshipReporter authorshipReporter \u003d new AuthorshipReporter();","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" AuthorshipSummary authorshipSummary \u003d authorshipReporter.generateAuthorshipSummary(config,","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" shouldAnalyzeAuthorship, originalityThreshold);","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" CommitsReporter commitsReporter \u003d new CommitsReporter();","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary \u003d commitsReporter.generateCommitSummary(config);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d commitSummary.getEarliestSinceDate();","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d generateIndividualRepoReport(repoReportDirectory, commitSummary, authorshipSummary);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COMPLETE_ANALYSIS, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" * Updates {@code config} with configuration provided by repository if exists.","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" * @throws AssertionError if there is a problem with the file existence check.","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" public void updateRepoConfig(RepoConfiguration config) throws AssertionError {","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" Path configJsonPath \u003d","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" Paths.get(config.getRepoRoot(), REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE).toAbsolutePath();","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" if (!Files.exists(configJsonPath)) {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" if (config.isStandaloneConfigIgnored()) {","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_IGNORING_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" return;","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" StandaloneConfig standaloneConfig \u003d new StandaloneConfigJsonParser().parse(configJsonPath);","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" config.update(standaloneConfig);","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_STANDALONE_CONFIG, config.getDisplayName(),","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON,","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" iae.getMessage(), config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":" throw new AssertionError(","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"This exception should not happen as we have performed the file existence check.\");","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" * Find and update {@code config} with all the author identities if author list is empty.","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Also removes ignored authors from author list.","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo.","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" private void updateAuthorList(RepoConfiguration config) throws NoAuthorsWithCommitsFoundException {","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" if (config.getAuthorList().isEmpty()) {","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_AUTHORS_SPECIFIED, config.getLocation(), config.getBranch()));","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e authorList \u003d GitShortlog.getAuthors(config);","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" if (authorList.isEmpty()) {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" throw new NoAuthorsWithCommitsFoundException();","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" config.setAuthorList(authorList);","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" config.removeIgnoredAuthors();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" * Updates {@code config} with the exact list of commits if commit ranges are provided.","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" private void updateIgnoreCommitList(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e updatedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" .flatMap(x -\u003e CommitHash.getHashes(config.getRepoRoot(), config.getBranch(), x))","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(updatedIgnoreCommitList);","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" * Adds {@code configs} that were not successfully cloned from {@code failedRepoLocation}","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" * into the list of errors in the summary report and removes them from the list of {@code configs}.","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" private void handleCloningFailed(List\u003cRepoConfiguration\u003e configs, RepoLocation failedRepoLocation) {","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e failedConfigs \u003d configs.stream()","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" .filter(config -\u003e config.getLocation().equals(failedRepoLocation))","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, failedConfigs, String.format(LOG_ERROR_CLONING, failedRepoLocation));","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" * Adds {@code failedConfig} that failed analysis into the list of errors in the summary report along with","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" * an {@code errorMessage} and removes {@code failedConfig} from the list of {@code configs}.","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" private void handleAnalysisFailed(List\u003cRepoConfiguration\u003e configs, RepoConfiguration failedConfig,","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":" String errorMessage) {","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, Collections.singletonList(failedConfig), errorMessage);","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" * Adds {@code failedConfigs} that failed cloning/analysis into the list of errors in the summary report along","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" * with an {@code errorMessage} and removes {@code failedConfigs} from the list of {@code configs}.","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" private void handleFailedConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cRepoConfiguration\u003e failedConfigs,","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" String errorMessage) {","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configs.iterator();","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d itr.next();","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" if (failedConfigs.contains(config)) {","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), errorMessage);","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" itr.remove();","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":" * Generates an empty report at the {@code repoReportDirectory}, with the author display name","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" * as {@code displayName}.","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this empty report.","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateEmptyRepoReport(String repoReportDirectory, String displayName) {","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" CommitReportJson emptyCommitReportJson \u003d new CommitReportJson(displayName);","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(emptyCommitReportJson, getIndividualCommitsPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(Collections.emptyList(), getIndividualAuthorshipPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" * Generates a report for a single repository at {@code repoReportDirectory} based on {@code commitSummary}","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" * and {@code authorshipSummary}.","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this report.","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateIndividualRepoReport(String repoReportDirectory,","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary, AuthorshipSummary authorshipSummary) {","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" CommitReportJson commitReportJson \u003d new CommitReportJson(commitSummary, authorshipSummary);","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(commitReportJson, getIndividualCommitsPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(authorshipSummary.getFileResults(), getIndividualAuthorshipPath(repoReportDirectory))","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":" return generatedFiles;","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" * Creates the .git-blame-ignore-revs file containing the contents of {@code ignoreCommitList}","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" * in the repo root directory of {@code config}.","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" private void generateIgnoreRevsFile(RepoConfiguration config) {","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(config.getRepoRoot(), commitHash);","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" logger.warning(String.format(LOG_ERROR_EXPANDING_COMMIT, commitHash));","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(expandedIgnoreCommitList);","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(getIgnoreRevsFilePath(config.getRepoRoot()), config.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":" private String getSummaryResultPath(String targetFileLocation) {","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" return targetFileLocation + \"/\" + SummaryJson.SUMMARY_JSON_FILE_NAME;","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" private String getIgnoreRevsFilePath(String targetFileLocation) {","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" return targetFileLocation + GitBlame.IGNORE_COMMIT_LIST_FILE_NAME;","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" private String getIndividualAuthorshipPath(String repoReportDirectory) {","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/authorship.json\";","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" private String getIndividualCommitsPath(String repoReportDirectory) {","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/commits.json\";","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" public void setEarliestSinceDate(LocalDateTime newEarliestSinceDate) {","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" if (earliestSinceDate \u003d\u003d null || newEarliestSinceDate.compareTo(earliestSinceDate) \u003c 0) {","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d newEarliestSinceDate;","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"sopa301":1,"-":554}},{"path":"src/main/java/reposense/report/SummaryJson.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.model.BlurbMap;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Represents the structure of summary.json file in reposense-report folder.","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SummaryJson {","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String SUMMARY_JSON_FILE_NAME \u003d \"summary.json\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private final String repoSenseVersion;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private final String reportGeneratedTime;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private final String reportGenerationTime;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final ZoneId zoneId;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private final String reportTitle;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private final List\u003cRepoConfiguration\u003e repos;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private final Set\u003cMap\u003cString, String\u003e\u003e errorSet;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private final LocalDateTime sinceDate;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private final LocalDateTime untilDate;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final boolean isSinceDateProvided;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private final boolean isUntilDateProvided;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private final Map\u003cString, Map\u003cString, String\u003e\u003e supportedDomainUrlMap;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private final boolean isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private final BlurbMap blurbs;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public SummaryJson(List\u003cRepoConfiguration\u003e repos, ReportConfiguration reportConfig, String reportGeneratedTime,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate, boolean isSinceDateProvided,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" boolean isUntilDateProvided, String repoSenseVersion, Set\u003cMap\u003cString, String\u003e\u003e errorSet,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" String reportGenerationTime, ZoneId zoneId,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" boolean isAuthorshipAnalyzed, BlurbMap blurbs) {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.repos \u003d repos;","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.reportGeneratedTime \u003d reportGeneratedTime;","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.reportGenerationTime \u003d reportGenerationTime;","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.reportTitle \u003d reportConfig.getTitle();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.isSinceDateProvided \u003d isSinceDateProvided;","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.isUntilDateProvided \u003d isUntilDateProvided;","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.repoSenseVersion \u003d repoSenseVersion;","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" this.errorSet \u003d errorSet;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.supportedDomainUrlMap \u003d SupportedDomainUrlMap.getDefaultDomainUrlMap();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" this.isAuthorshipAnalyzed \u003d isAuthorshipAnalyzed;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" this.blurbs \u003d blurbs;","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7,"-":48}},{"path":"src/main/java/reposense/util/StringsUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Contains strings related utilities.","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class StringsUtil {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NEWLINE \u003d Pattern.compile(\"\\n\");","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern TAB \u003d Pattern.compile(\"\\t\");","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" public static final Pattern SPACE \u003d Pattern.compile(\" \");","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NUMERIC \u003d Pattern.compile(\"^\\\\d+$\");","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final Pattern SPECIAL_SYMBOLS \u003d Pattern.compile(\"[@;:\u0026/\\\\\\\\!\u003c\u003e{}%#\\\"\\\\-\u003d\u0027()\\\\[\\\\].+*?^$|]\");","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Filters the {@code text}, returning only the lines that matches the given {@code regex}.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" public static String filterText(String text, String regex) {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" Pattern regexPattern \u003d Pattern.compile(regex);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : NEWLINE.split(text)) {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" if (regexPattern.matcher(line).matches()) {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" sb.append(line).append(\"\\n\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" return sb.toString();","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Converts all special symbol characters inside {@code regexString} to the {@code replacementCharacter}.","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public static String replaceSpecialSymbols(String regexString, String replacementCharacter) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" return SPECIAL_SYMBOLS.matcher(regexString).replaceAll(replacementCharacter);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Adds quotes to the string.","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static String addQuotes(String original) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return \"\\\"\" + original + \"\\\"\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Adds the appropriate quotation marks for a file path depending on the OS.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" public static String addQuotesForFilePath(String filePath) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" return \"\\\"\" + filePath + \"\\\"\";","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c filePath.length(); i++) {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" char c \u003d filePath.charAt(i);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" if (c \u003d\u003d \u0027\\\u0027\u0027) {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" sb.append(\"\u0027\\\"\u0027\\\"\u0027\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" sb.append(c);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" return \u0027\\\u0027\u0027 + sb.toString() + \u0027\\\u0027\u0027;","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Removes quotes at the start and end of {@code original}, if exists.","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static String removeQuote(String original) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" return (original.startsWith(\"\\\"\") \u0026\u0026 original.endsWith(\"\\\"\"))","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" ? original.substring(1, original.length() - 1)","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" : original;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Removes trailing backslashes from a {@code string}, if it exists.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static String removeTrailingBackslash(String string) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (string.isEmpty()) {","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" return string;","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" int lastCharIndex \u003d string.length() - 1;","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" String editedString \u003d string;","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" boolean isLastCharBackslash \u003d string.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" while (isLastCharBackslash) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" editedString \u003d editedString.substring(0, lastCharIndex--);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" boolean isStringEmpty \u003d editedString.length() \u003d\u003d 0;","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" isLastCharBackslash \u003d !isStringEmpty \u0026\u0026 editedString.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" return editedString;","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Returns true iff {@code string} is purely numeric.","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" public static boolean isNumeric(String string) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" return NUMERIC.matcher(string).matches();","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Calculates the Levenshtein Distance between two strings using Dynamic Programming.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Insertion, deletion, and substitution are all of cost 1.","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" * This version improves the space complexity down to O(min(s, t))","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003c/p\u003e","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * The dp will stop if the {@code limit} is reached, this means that if the final distance is 7 and the limit is set","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" * to 3, the algorithm ends early once it reaches 3. This is possible as we are using this method to find the string","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * with the lowest Levenshtein distance.","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003c/p\u003e","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Returns {@code Integer.MAX_VALUE} if limit is reached, else returns the computed Levenshtein distance.","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" public static int getLevenshteinDistance(String s, String t, double limit) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" // Early termination if either string is empty, lev dist is just the length of the other string.","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (s.isEmpty()) {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" return t.length();","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (t.isEmpty()) {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" return s.length();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" // The final lev dist is at least k where k \u003d difference in length \u003d number of insert/delete.","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (Math.abs(s.length() - t.length()) \u003e\u003d limit) {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" return Integer.MAX_VALUE;","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" if (s.length() \u003c t.length()) {","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" // Swap s and t to ensure s is always the longer string","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" String temp \u003d s;","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" s \u003d t;","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" t \u003d temp;","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" int[] dp \u003d new int[t.length() + 1];","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c\u003d t.length(); i++) {","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" dp[i] \u003d i;","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d s.length(); i++) {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" // Store the value of the previous row\u0027s column","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" int prev \u003d dp[0];","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" dp[0] \u003d i;","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" // If for this row, all the values are at least k, then the final lev dist computed will also be at least k.","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" // hasLower will check for values smaller than the limit, and terminate early if limit is reached.","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" boolean hasLower \u003d false;","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" for (int j \u003d 1; j \u003c\u003d t.length(); j++) {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" int temp \u003d dp[j];","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" if (s.charAt(i - 1) \u003d\u003d t.charAt(j - 1)) {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" dp[j] \u003d prev;","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" dp[j] \u003d Math.min(prev, Math.min(dp[j - 1], dp[j])) + 1;","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" prev \u003d temp;","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (dp[j] \u003c limit) {","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" hasLower \u003d true;","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (!hasLower) {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" return Integer.MAX_VALUE;","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" return dp[t.length()];","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":9,"-":161}},{"path":"src/main/java/reposense/util/TimeUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeParseException;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.format.ResolverStyle;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains time related functionalities.","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class TimeUtil {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static Long startTime;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String DATE_FORMAT_REGEX \u003d","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"^((0?[1-9]|[12][0-9]|3[01])\\\\/(0?[1-9]|1[012])\\\\/(19|2[0-9])[0-9]{2})\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" // \"uuuu\" is used for year since \"yyyy\" does not work with ResolverStyle.STRICT","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter CLI_ARGS_DATE_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/uuuu HH:mm:ss\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String EARLIEST_VALID_DATE \u003d \"1970-01-01T00:00:00\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LATEST_VALID_DATE \u003d \"2099-12-31T23:59:59\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE \u003d","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"Date of %s must not be earlier than \"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to earliest valid date\", EARLIEST_VALID_DATE);","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE \u003d","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"Date of %s must not be later than \"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to latest valid date\", LATEST_VALID_DATE);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(TimeUtil.class);","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Sets the {@code startTime} to be the current time.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void startTimer() {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" startTime \u003d System.nanoTime();","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time.","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String getElapsedTime() {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" long endTime \u003d System.nanoTime();","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" double elapsedTime \u003d (double) (endTime - startTime) / 1_000_000_000.0;","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" int elapsedHours \u003d (int) elapsedTime / 3600;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" int elapsedMinutes \u003d (int) (elapsedTime % 3600) / 60;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" double elapsedSeconds \u003d elapsedTime % 60;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" String formattedElapsedTime \u003d \"\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (elapsedHours \u003e 0) {","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d hour(s)\", elapsedHours);","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (elapsedMinutes \u003e 0) {","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d minute(s)\", elapsedMinutes);","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %.2f second(s)\", elapsedSeconds);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" return formattedElapsedTime;","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time,","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * with an additional explanatory string.","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static String getElapsedTimeMessage() {","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return \"Elapsed processing time:\" + getElapsedTime();","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to midnight for the given {@code sinceDate}.","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(LocalDateTime sinceDate) {","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" return getValidDate(sinceDate).withHour(0).withMinute(0).withSecond(0);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to 23:59:59 for the given {@code untilDate}.","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" return getValidDate(untilDate).withHour(23).withMinute(59).withSecond(59);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is within {@value EARLIEST_VALID_DATE} and {@value LATEST_VALID_DATE}.","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Resets {@code date} passed the closest valid date if it exceeds the date range.","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static LocalDateTime getValidDate(LocalDateTime date) {","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (date.isBefore(LocalDateTime.parse(EARLIEST_VALID_DATE))) {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE, date));","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(EARLIEST_VALID_DATE);","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (date.isAfter(LocalDateTime.parse(LATEST_VALID_DATE))) {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE, date));","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(LATEST_VALID_DATE);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" return date;","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is one month before {@code cliUntilDate} (if present) or one month","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" * before report generation date otherwise.","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusAMonth(LocalDateTime cliUntilDate) {","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusMonths(1));","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} before {@code cliUntilDate} (if present) or one month","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" * before report generation date otherwise.","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusNDays(LocalDateTime cliUntilDate, int numOfDays) {","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusDays(numOfDays));","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} after {@code cliSinceDate} (if present).","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static LocalDateTime getDatePlusNDays(LocalDateTime cliSinceDate, int numOfDays) {","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" return getUntilDate(cliSinceDate.plusDays(numOfDays));","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Returns current date with time set to 23:59:59. The time zone is adjusted to the given {@code zoneId}.","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public static LocalDateTime getCurrentDate(ZoneId zoneId) {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" return LocalDateTime.now(zoneId).withHour(23).withMinute(59).withSecond(59).withNano(0);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} in the UTC time zone.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateLocal();","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} adjusted for the time zone based on","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code toZoneId}.","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateConverted(toZoneId);","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in UTC time.","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateUtc(LocalDateTime dateTime) {","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateLocal());","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in the time zone given by","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" * {@code zoneId}.","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateConverted(LocalDateTime dateTime, ZoneId zoneId) {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateConverted(zoneId));","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Extracts the first substring of {@code date} string that matches the {@code DATE_FORMAT_REGEX}.","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static String extractDate(String date) {","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" Matcher matcher \u003d Pattern.compile(DATE_FORMAT_REGEX).matcher(date);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" String extractedDate \u003d date;","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" if (matcher.find()) {","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" extractedDate \u003d matcher.group(1);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" return extractedDate;","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Parses the given {@code date} string as a {@link LocalDateTime} based on the {@code CLI_ARGS_DATE_FORMAT}.","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Uses {@link ResolverStyle#STRICT} to avoid unexpected dates like 31/02/2020.","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" * @throws java.text.ParseException if date cannot be parsed by the required format.","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static LocalDateTime parseDate(String date) throws java.text.ParseException {","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(date, CLI_ARGS_DATE_FORMAT.withResolverStyle(ResolverStyle.STRICT));","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (DateTimeParseException e) {","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" throw new java.text.ParseException(String.format(","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"Exception message: %s\\n\", e.getMessage()), e.getErrorIndex());","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":191}},{"path":"src/systemtest/java/reposense/ConfigSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class ConfigSystemTest {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TESTING_FILE_FORMATS \u003d Arrays.asList(\"java\", \"adoc\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String TEST_TIME_ZONE \u003d \"Asia/Singapore\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"ft_temp\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static boolean didNotCloneRepoNormally \u003d true;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" public void setUp() throws Exception {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void tearDown() throws Exception {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * since date to capture from the first commit.","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRange() {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\");","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRange/expected\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDate() {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder().addUntilDate(\"1/11/2017\");","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDate/expected\");","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" * System test with a specified since date and until date, with the last modified date time in each","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" * line of code.","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void testDateRangeWithModifiedDateTimeInLines() {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" .addSinceDate(\"1/9/2017\")","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/10/2017\")","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addLastModifiedDateFlags();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/dateRangeWithModifiedDateTimeInLines/expected\");","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using shallow cloning.","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithShallowCloning() {","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addShallowCloning();","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeWithShallowCloning/expected\");","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithShallowCloning() {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addShallowCloning();","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateWithShallowCloning/expected\");","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using find previous authors.","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithFindPreviousAuthors() {","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeFindPreviousAuthors/expected\");","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithFindPreviousAuthors() {","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateFindPreviousAuthors/expected\");","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Returns a {@link InputBuilder} that is initialized with some default values.","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" * \u003cbr\u003eConfig Folder Path: {@code ConfigSystemTest}","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" * \u003cbr\u003eFormats: {@link ConfigSystemTest#TESTING_FILE_FORMATS TESTING_FILE_FORMATS}","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTimezone: {@link ConfigSystemTest#TEST_TIME_ZONE TEST_TIME_ZONE}","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" * \u003cbr\u003eOutput Folder Path: {@link ConfigSystemTest#OUTPUT_DIRECTORY OUTPUT_DIRECTORY}","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTest Mode: {@code Enabled}","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" private InputBuilder initInputBuilder() {","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" Path configFolder \u003d loadResource(getClass(), \"ConfigSystemTest\");","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", TESTING_FILE_FORMATS);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" return new InputBuilder().addConfig(configFolder)","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" .addTimezone(TEST_TIME_ZONE)","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" .addTestMode()","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Generates the testing report and compares it with the expected report.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Re-generates a normal report after the testing finished if the first report is shallow-cloned.","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param inputBuilder The input builder that contains the command line input specified by user.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param shouldFreshClone Boolean for whether to clone repo again if it has been cloned before.","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @param pathToResource The location at which files generated during the test are stored.","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, boolean shouldFreshClone, String pathToResource) {","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (shouldFreshClone || didNotCloneRepoNormally) {","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" inputBuilder \u003d inputBuilder.addFreshCloning();","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" Path actualFiles \u003d loadResource(getClass(), pathToResource);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(actualFiles, REPORT_DIRECTORY_PATH);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" didNotCloneRepoNormally \u003d inputBuilder.isShallowCloning();","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":171}},{"path":"src/systemtest/java/reposense/LocalRepoSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterAll;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class LocalRepoSystemTest {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE_PARENT \u003d \"parent1\";","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO_PARENT \u003d \"parent2\";","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE \u003d \"parent1/test-repo\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO \u003d \"parent2/test-repo\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String LAST_COMMIT_DATE \u003d \"31/01/2023\";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"local-test\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TIME_ZONE \u003d \"UTC+08\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static void setupLocalRepos() throws Exception {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone(","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" .build(),","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_ONE","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone(","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" .build(),","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_TWO","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void setupLocalTest() throws Exception {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void deleteReportDirectory() throws Exception {","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" @AfterAll","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static void deleteClonedLocalRepos() throws Exception {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_ONE_PARENT);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_TWO_PARENT);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void testSameFinalDirectory() {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addRepos(LOCAL_DIRECTORY_ONE, LOCAL_DIRECTORY_TWO)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testSameFinalDirectory\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testRelativePathing() {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" String relativePathForTesting \u003d \"parent1/../parent1/./test-repo\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addRepos(relativePathForTesting)","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testRelativePathing\");","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Runs RepoSense with {@code inputBuilder} and tests it against the expected","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" * files in {@code expectedFilesPathString}.","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, String expectedFilesPathString) {","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" Path expectedFilesPath \u003d loadResource(getClass(), expectedFilesPathString);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(expectedFilesPath, REPORT_DIRECTORY_PATH);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":13,"-":95}},{"path":"src/systemtest/java/reposense/util/SystemTestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileReader;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import com.google.gson.JsonElement;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains utility methods for system tests.","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class SystemTestUtil {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String[] JSON_FIELDS_TO_IGNORE \u003d new String[]","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" {\"repoSenseVersion\", \"reportGeneratedTime\", \"reportGenerationTime\", \"isAuthorshipAnalyzed\"};","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Verifies that all JSON files in the {@code actualDirectory} matches those at the {@code expectedDirectory}.","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static void verifyReportJsonFiles(Path expectedDirectory, Path actualDirectory) {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" try (Stream\u003cPath\u003e pathStream \u003d Files.list(expectedDirectory)) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" for (Path file : pathStream.collect(Collectors.toList())) {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path expectedFilePath \u003d expectedDirectory.resolve(file.getFileName());","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" Path actualFilePath \u003d actualDirectory.resolve(file.getFileName());","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (Files.isDirectory(file)) {","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" verifyReportJsonFiles(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" } else if (file.toString().endsWith(\".json\")) {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (file.getFileName().toString().equals(\"summary.json\")) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertSummaryJson(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" } else {","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertJson(expectedFilePath, actualFilePath);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" ioe.printStackTrace();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static void assertSummaryJson(Path expectedSummaryJsonPath, Path actualSummaryJsonPath)","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" throws IOException {","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedSummaryJsonPath.toFile());","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" FileReader fileReaderActual \u003d new FileReader(actualSummaryJsonPath.toFile())) {","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" JsonObject jsonExpected \u003d JsonParser.parseReader(fileReaderExpected).getAsJsonObject();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" JsonObject jsonActual \u003d JsonParser.parseReader(fileReaderActual).getAsJsonObject();","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String ignoredKey : JSON_FIELDS_TO_IGNORE) {","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" jsonExpected.remove(ignoredKey);","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" jsonActual.remove(ignoredKey);","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Asserts that the contents in the given JSON file at {@code actualJsonPath} is the same as the JSON file","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" * at {@code expectedJsonPath}.","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static void assertJson(Path expectedJsonPath, Path actualJsonPath) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(actualJsonPath));","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedJsonPath.toFile());","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" FileReader fileReaderActual \u003d new FileReader(actualJsonPath.toFile())) {","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonExpected \u003d JsonParser.parseReader(fileReaderExpected);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonActual \u003d JsonParser.parseReader(fileReaderActual);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ex) {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.fail(ex.getMessage());","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":11,"-":68}},{"path":"src/test/java/reposense/git/GitBranchTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.template.GitTestTemplate;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class GitBranchTest extends GitTestTemplate {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION \u003d","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-UncommonDefaultBranch.git\";","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private RepoConfiguration config;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" public void before() throws Exception {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" super.before();","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" config \u003d configs.get();","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" public void getCurrentBranch_masterBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(config.getRepoRoot());","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", currentBranch);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void getCurrentBranch_uncommonDefaultBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration uncommonDefaultConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION))","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" uncommonDefaultConfig.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(uncommonDefaultConfig);","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(uncommonDefaultConfig.getRepoRoot());","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"uncommon\", currentBranch);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":4,"-":39}},{"path":"src/test/java/reposense/model/BlurbMapTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMapTest {","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfBuildsSuccessfully_success() {","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" builder.withRecord(\"hello\", \"world\");","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap newBuilder \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":" newBuilder.withRecord(\"hello\", \"world\");","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(builder, newBuilder);","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfBuildsEmpty_success() {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap map1 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap map2 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(map1, map2);","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" public void blurbBuilder_testIfUnequal_success() {","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder1 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMap builder2 \u003d new BlurbMap();","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" builder1.withRecord(\"this\", \"builder\");","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" builder2.withRecord(\"other\", \"builder\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertNotEquals(builder1, builder2);","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":33}},{"path":"src/test/java/reposense/model/RepoConfigurationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class RepoConfigurationTest {","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAlone_test\");","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAloneKeyword_test\");","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_formats_test\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path WITHOUT_FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_withoutformats_test\");","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path GROUPS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_groups_test\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path OVERRIDE_STANDALONE_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_overrideStandAlone_test\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path IGNORE_AUTHORS_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreAuthors_test\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreStandaloneOverrideCsv_test\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimit_test\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimitOverrideCsv_test\");","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_shallowCloning_test\");","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_shallowCloningOverrideCsv_test\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthors_test\");","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthorsOverrideCsv_test\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_MINIMAL_STANDALONE_CONFIG \u003d","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-minimalstandaloneconfig.git\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"lithiumlkid\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"codeeong\");","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final Author THIRD_AUTHOR \u003d new Author(\"jordancjq\");","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final Author FOURTH_AUTHOR \u003d new Author(\"lohtianwei\");","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_ALIASES \u003d Collections.singletonList(\"Ahmad Syafiq\");","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_ALIASES \u003d Collections.singletonList(\"Jordan Chong\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_ALIASES \u003d Collections.singletonList(\"Tianwei\");","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Collections.singletonList(\"collated**\");","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" Arrays.asList(\"*.aa1\", \"**.aa2\", \"**.java\", \"collated**\");","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"\", \"collated**\");","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**[!(.md)]\", \"collated**\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_GLOB_LIST \u003d Collections.singletonList(\"collated**\");","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e CONFIG_FORMATS \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList(","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"md\"));","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e FIRST_CONFIG_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" new FileType(\"test\", Collections.singletonList(\"src/test**\")),","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" new FileType(\"code\", Collections.singletonList(\"**.java\")),","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e SECOND_CONFIG_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e CLI_FORMATS \u003d Arrays.asList(\"css\", \"html\");","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static RepoConfiguration repoDeltaStandaloneConfig;","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" private ReportGenerator reportGenerator \u003d new ReportGenerator();","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setAuthorAliases(FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setAuthorAliases(THIRD_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setAuthorAliases(FOURTH_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setIgnoreGlobList(THIRD_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setIgnoreGlobList(FOURTH_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" expectedAuthors.add(THIRD_AUTHOR);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" expectedAuthors.add(FOURTH_AUTHOR);","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" repoDeltaStandaloneConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FIRST_AUTHOR, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FOURTH_AUTHOR, FOURTH_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Ahm\");","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Cod\");","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(THIRD_AUTHOR, \"Jor\");","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FOURTH_AUTHOR, \"Loh\");","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setEmails(Arrays.asList(\"codeeong@gmail.com\", \"33129797+codeeong@users.noreply.github.com\"));","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Author author : expectedAuthors) {","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void repoConfig_usesStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfigInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreStandaloneConfigInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST)","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_success() throws Exception {","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" expectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimitInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setFileSizeLimitIgnored(true);","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void repoConfig_withoutIgnoreStandaloneConfigInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST).build();","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" public void repoConfig_wrongKeywordUseStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloning_success() throws Exception {","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void repoConfig_withoutShallowCloningInInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthors_success() throws Exception {","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_success() throws Exception {","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors()","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_overrideCsv() throws Exception {","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFindPreviousAuthorsInCli_useCsv() throws Exception {","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" public void repoConfig_userEnvironmentCannotRunFindPreviousAuthors_setFindPreviousAuthorsToFalseInAllRepoConfigs()","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" throws Exception {","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" public void repoConfig_withFormats_ignoreCliFormats() throws Exception {","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FORMATS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_FORMATS, actualConfigs.get(0).getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormats_useCliFormats() throws Exception {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES)","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e actualFormats \u003d actualConfigs.get(0).getFileTypeManager().getFormats();","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileType.convertFormatStringsToFileTypes(CLI_FORMATS), actualFormats);","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void repoConfig_withCustomGroups_useCustomGroups() throws Exception {","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(GROUPS_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(actualConfigs, groupConfigs);","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_CONFIG_GROUPS, actualConfigs.get(0).getFileTypeManager().getGroups());","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(SECOND_CONFIG_GROUPS, actualConfigs.get(1).getFileTypeManager().getGroups());","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormatsAndCliFormats_useAllFormats() throws Exception {","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES).build();","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, actualConfigs.get(0).getFileTypeManager()","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":" .getFormats());","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" public void repoConfig_emptyLocationDifferentBranch_equal() throws Exception {","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationEmptyBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"\")","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationDefaultBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\")).build();","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationWithBranchRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationDefaultBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationWithBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void repoConfig_sameLocationDifferentBranch_notEqual() throws Exception {","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationValidBranchRepoConfig \u003d","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationDefaultBranchRepoConfig \u003d","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder().location(new RepoLocation(TEST_REPO_DELTA)).build();","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertNotEquals(validLocationDefaultBranchRepoConfig, validLocationValidBranchRepoConfig);","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":" public void repoConfig_overrideStandaloneConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(Collections.emptyList())","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(Collections.emptyList())","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT)","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(false)","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(false)","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(Collections.emptyList())","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(true)","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(true)","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(true)","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(false)","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(false)","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(false)","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(false)","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(Arrays.asList(\"lithiumlkid\"))","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(true)","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthorList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":" Author[] authors \u003d new Author[]{FIRST_AUTHOR, SECOND_AUTHOR, THIRD_AUTHOR, FOURTH_AUTHOR};","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" for (Author author : authors) {","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" Author expectedAuthor \u003d new Author(author);","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedAuthorIgnoreGlobList \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.addAll(author.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" // Authors\u0027 original ignoreGlobList contains values from StandaloneConfig repo level, thus need to remove","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.removeAll(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":" expectedAuthor.setIgnoreGlobList(expectedAuthorIgnoreGlobList);","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" expectedAuthorList.add(expectedAuthor);","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthorList);","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayNameMap(repoDeltaStandaloneConfig.getAuthorDisplayNameMap());","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorNamesToAuthorMap(repoDeltaStandaloneConfig.getAuthorNamesToAuthorMap());","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorEmailsToAuthorMap(repoDeltaStandaloneConfig.getAuthorEmailsToAuthorMap());","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(OVERRIDE_STANDALONE_TEST_CONFIG_FILE)","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" public void repoConfig_minimalStandaloneConfig_fieldsAssignedDefaultValues() throws Exception {","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" Author firstAuthor \u003d new Author(\"bluein-green\");","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" Author secondAuthor \u003d new Author(\"jylee-git\");","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d Arrays.asList(firstAuthor, secondAuthor);","isFullCredit":false},{"lineNumber":807,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":808,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":809,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(Collections.emptyList());","isFullCredit":false},{"lineNumber":810,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(Collections.emptyList());","isFullCredit":false},{"lineNumber":811,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreCommitList(Collections.emptyList());","isFullCredit":false},{"lineNumber":812,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":813,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":814,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":815,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":816,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":817,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":818,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":819,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":820,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":821,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":822,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":823,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":824,"author":{"gitId":"-"},"content":" public void repoConfig_removeIgnoredAuthors_success() throws Exception {","isFullCredit":false},{"lineNumber":825,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":826,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":827,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":828,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);","isFullCredit":false},{"lineNumber":829,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":830,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":831,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))","isFullCredit":false},{"lineNumber":832,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":833,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":834,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":835,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":836,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");","isFullCredit":false},{"lineNumber":837,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":838,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":839,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);","isFullCredit":false},{"lineNumber":840,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":841,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoredAuthorsList(Arrays.asList(\"jordancjq\", \"Eugene Peh\"));","isFullCredit":false},{"lineNumber":842,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":843,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);","isFullCredit":false},{"lineNumber":844,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_AUTHORS_TEST_CONFIG_FILE)","isFullCredit":false},{"lineNumber":845,"author":{"gitId":"-"},"content":" .addFormats(formats)","isFullCredit":false},{"lineNumber":846,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":847,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":848,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":849,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":850,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":851,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":852,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":853,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":854,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":855,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);","isFullCredit":false},{"lineNumber":856,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);","isFullCredit":false},{"lineNumber":857,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);","isFullCredit":false},{"lineNumber":858,"author":{"gitId":"-"},"content":" Method updateAuthorList \u003d ReportGenerator.class.getDeclaredMethod(\"updateAuthorList\", RepoConfiguration.class);","isFullCredit":false},{"lineNumber":859,"author":{"gitId":"-"},"content":" updateAuthorList.setAccessible(true);","isFullCredit":false},{"lineNumber":860,"author":{"gitId":"-"},"content":" updateAuthorList.invoke(reportGenerator, actualConfig);","isFullCredit":false},{"lineNumber":861,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":862,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);","isFullCredit":false},{"lineNumber":863,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":864,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":865,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":866,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_displayName_success() throws Exception {","isFullCredit":false},{"lineNumber":867,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":868,"author":{"gitId":"asdfghjkxd"},"content":" .displayName(\"CS3281\")","isFullCredit":false},{"lineNumber":869,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":870,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":871,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":872,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":873,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getDisplayName(), \"CS3281\");","isFullCredit":false},{"lineNumber":874,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":875,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":876,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":877,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_outputFolderName_success() throws Exception {","isFullCredit":false},{"lineNumber":878,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":879,"author":{"gitId":"asdfghjkxd"},"content":" .outputFolderName(\"CS3281 Folder\")","isFullCredit":false},{"lineNumber":880,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":881,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":882,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":883,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":884,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getOutputFolderName(), \"CS3281 Folder\");","isFullCredit":false},{"lineNumber":885,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":886,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":887,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":888,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_repoFolderName_success() throws Exception {","isFullCredit":false},{"lineNumber":889,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":890,"author":{"gitId":"asdfghjkxd"},"content":" .repoFolderName(\"CS3281 Folder\")","isFullCredit":false},{"lineNumber":891,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":892,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":893,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":894,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":895,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getRepoFolderName(), \"CS3281 Folder\");","isFullCredit":false},{"lineNumber":896,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":897,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":898,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":899,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_zoneID_success() throws Exception {","isFullCredit":false},{"lineNumber":900,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":901,"author":{"gitId":"asdfghjkxd"},"content":" .zoneId(ZoneId.systemDefault())","isFullCredit":false},{"lineNumber":902,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":903,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":904,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":905,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":906,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getZoneId(), ZoneId.systemDefault());","isFullCredit":false},{"lineNumber":907,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":908,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":909,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":910,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_sinceDate_success() throws Exception {","isFullCredit":false},{"lineNumber":911,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":912,"author":{"gitId":"asdfghjkxd"},"content":" .sinceDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))","isFullCredit":false},{"lineNumber":913,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":914,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":915,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":916,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":917,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getSinceDate(),","isFullCredit":false},{"lineNumber":918,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));","isFullCredit":false},{"lineNumber":919,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":920,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":921,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":922,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_untilDate_success() throws Exception {","isFullCredit":false},{"lineNumber":923,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":924,"author":{"gitId":"asdfghjkxd"},"content":" .untilDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))","isFullCredit":false},{"lineNumber":925,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":926,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":927,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":928,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":929,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getUntilDate(),","isFullCredit":false},{"lineNumber":930,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));","isFullCredit":false},{"lineNumber":931,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":932,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":933,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":934,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_authorConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":935,"author":{"gitId":"asdfghjkxd"},"content":" RepoLocation loc \u003d new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG);","isFullCredit":false},{"lineNumber":936,"author":{"gitId":"asdfghjkxd"},"content":" String branch \u003d \"master\";","isFullCredit":false},{"lineNumber":937,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":938,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":939,"author":{"gitId":"asdfghjkxd"},"content":" .authorConfig(new AuthorConfiguration(loc, branch))","isFullCredit":false},{"lineNumber":940,"author":{"gitId":"asdfghjkxd"},"content":" .location(loc)","isFullCredit":false},{"lineNumber":941,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)","isFullCredit":false},{"lineNumber":942,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":943,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":944,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getAuthorConfig(),","isFullCredit":false},{"lineNumber":945,"author":{"gitId":"asdfghjkxd"},"content":" new AuthorConfiguration(loc, branch));","isFullCredit":false},{"lineNumber":946,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":947,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":948,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":949,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_isLastModifiedDateIncluded_success() throws Exception {","isFullCredit":false},{"lineNumber":950,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":951,"author":{"gitId":"asdfghjkxd"},"content":" .isLastModifiedDateIncluded(true)","isFullCredit":false},{"lineNumber":952,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))","isFullCredit":false},{"lineNumber":953,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":954,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":955,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":956,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(actualConfig.isLastModifiedDateIncluded());","isFullCredit":false},{"lineNumber":957,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":958,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":959,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":960,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_buildWithInvalid_failure() {","isFullCredit":false},{"lineNumber":961,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(ConfigurationBuildException.class, () -\u003e new RepoConfiguration.Builder().build());","isFullCredit":false},{"lineNumber":962,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":963,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":244,"-":719}},{"path":"src/test/java/reposense/model/RepoLocationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.getDomainNameFromDomain;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.isLocalRepo;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assumptions;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.AssertUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoLocationTest {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE \u003d \"repo\";","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO \u003d \"../path/to/repo\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE \u003d \"/path/to/repo\";","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_ONE \u003d \"path/to/repo/.git\";","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_TWO \u003d \"file://path/to/repo.git\";","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_ONE \u003d \"file://path/to/repo\";","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_TWO \u003d \"file:///path/to/repo\";","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\\";","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO \u003d \"..\\\\path\\\\to\\\\repo\";","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\.git\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE \u003d \"C:\\\\path\\\\to\\\\repo.git\";","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_ONE \u003d \"..\\\\path/to\\\\repo\";","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_TWO \u003d \"file://path\\\\to\\\\repo.git\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED \u003d \"C:\\\\path/to/repo.git\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String EXPECTED_REPO_NAME \u003d \"repo\";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String EXPECTED_ORGANIZATION \u003d \"path-to\";","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String EXPECTED_DOMAIN_NAME \u003d \"github\";","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String EXPECTED_UNRECOGNISED_DOMAIN_NAME \u003d UNSUPPORTED_DOMAIN_NAME;","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void repoLocation_parseEmptyString_success() throws Exception {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(\"\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void isLocalRepo_validLocalRepos_success() throws Exception {","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE));","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE));","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(\"./abc:def\"));","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void isLocalRepo_remoteRepos_returnsFalse() throws Exception {","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"https://github.com/reposense/RepoSense.git/\"));","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"git@github.com:reposense/RepoSense.git/\"));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void repoLocation_parseLocalRepoLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" // local paths not containing \".git\" should be valid","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" // relative pathing should be considered part of the \u0027organization\u0027 for differentiation","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE,","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" // local paths containing \".git\" should also be valid","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" // file-type url protocol (file://) is accepted by git clone","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_ONE,","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_TWO,","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public void repoLocation_parseWindowsLocalRepoLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assumptions.assumeTrue(SystemUtil.isWindows());","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" // repeated tests but with windows file separators","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO,","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE,","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE,","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE,","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_TWO,","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED,","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void repoLocation_parseValidRemoteRepoUrl_success() throws Exception {","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" // valid url without specifying branch","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git\",","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"testrepo-Beta\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Delta.git\",","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"testrepo-Delta\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://gitlab.com/reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"gitlab\");","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense.git\",","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" // valid url to parse for obtaining repo and organization, just not a valid git clone target","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/.git\",","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" // valid url from other domains","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://bitbucket.org/reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"bitbucket\");","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" // valid url from unsupported domain with longer path to git directory than the standard organization/reponame","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://opensource.ncsa.illinois.edu/bitbucket/scm/u3d/3dutilities.git\",","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"3dutilities\", \"bitbucket-scm-u3d\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" // treated as valid but will be caught when git clone fails","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta/tree/add-config-json\",","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta-tree\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git/tree/add-config-json\",","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta.git-tree\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" // URLs without \".git\" should be accepted as git clone works even without it","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense\",","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/RepoSense\",","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" // Test against other types of URL protocols that are valid for git clone","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertParsableLocation(\"ssh://git@github.com/path/to/repo.git/\",","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git://github.com/path/to/repo.git\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://host.xz:9000/path/to/repo.git\",","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" // Test against the conventional ssh protocol used for GitHub, e.g. git@github.com:reposense/RepoSense.git","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertParsableLocation(\"repo@organization.com:path/to/repo.git/\",","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git@github.com:reposense/RepoSense.git\",","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" public void repoLocation_parseNormalizableRepoLocations_success() throws Exception {","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/redundant/directories/../../RepoSense.git\",","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertParsableLocation(\"/path/with/redundant/directories/../.././../to/repo\",","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Tests if there is an additional \u0027../\u0027 it is not consumed by accident","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertParsableLocation(\"path/with/redundant/directories/../../../../../to/repo\",","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-to\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void repoLocation_parseInvalidRemoteRepo_throwsInvalidLocationException() throws Exception {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // Invalid URL protocol","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"ttp://github.com/reposense.RepoSense.git\");","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"not-valid-protocol://abc.com/reposense/RepoSense.git\");","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" // URL contains illegal characters","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"https://github.com/contains-illegal-chars/^\\\\/\");","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseValidDomain_success() throws Exception {","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"www.github.com\"));","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"github.com\"));","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gitlab\", getDomainNameFromDomain(\"www.gitlab.org\"));","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"bitbucket\", getDomainNameFromDomain(\"ww2.bitbucket.com\"));","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" // valid but unsupported","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" Assertions.assertEquals(UNSUPPORTED_DOMAIN_NAME, getDomainNameFromDomain(\"opensource.ncsa.illinois.edu\"));","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseInvalidDomain_throwsInvalidLocationException() throws Exception {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" // no top level domain specified","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"www.github\"));","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github\"));","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" // has a dot but still no top level domain specified","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github.\"));","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" * Compares the information of {@code rawLocation} parsed by the RepoLocation model with {@code expectedRepoName}","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * and {@code expectedOrganization}.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" public void assertParsableLocation(String rawLocation, String expectedRepoName,","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" String expectedOrganization, String expectedDomainName) throws Exception {","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(rawLocation);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoName, repoLocation.getRepoName());","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedOrganization, repoLocation.getOrganization());","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedDomainName, repoLocation.getDomainName());","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" private void assertUnparsableLocation(String rawLocation) {","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e new RepoLocation(rawLocation));","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":207}},{"path":"src/test/java/reposense/parser/ArgsParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.io.IOException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.time.Month;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"public class ArgsParserTest {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path PROJECT_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\"));","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Path CONFIG_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\")","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"cli_location_test\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"output\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_RELATIVE \u003d PROJECT_DIRECTORY.relativize(CONFIG_FOLDER_ABSOLUTE);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_RELATIVE \u003d PROJECT_DIRECTORY.relativize(OUTPUT_DIRECTORY_ABSOLUTE);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_CSV_FILE \u003d","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_CSV_FILE \u003d","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String NONEXISTENT_DIRECTORY \u003d \"some_non_existent_dir/\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final InputBuilder DEFAULT_INPUT_BUILDER \u003d new InputBuilder();","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_REPOSENSE \u003d \"https://github.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE \u003d \"https://github.com/reposense/testrepo-Charlie.git\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String DEFAULT_TIME_ZONE_STRING \u003d \"Asia/Singapore\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final ZoneId DEFAULT_TIME_ZONE_ID \u003d TestUtil.getZoneId(DEFAULT_TIME_ZONE_STRING);","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" public void before() {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" DEFAULT_INPUT_BUILDER.reset().addConfig(CONFIG_FOLDER_ABSOLUTE);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" public void after() {","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY).toString());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.err.println(e.getMessage());","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" public void parse_d1CorrectTimeZone_success() throws Exception {","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(DEFAULT_TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputs_success() throws Exception {","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js\")","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void parse_help_throwsHelpScreenException() {","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" String input \u003d \"--help\";","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" Assertions.assertThrows(HelpScreenException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputsAlias_success() throws Exception {","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" String input \u003d String.format(","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"-c \\\"%s\\\" -o \\\"%s\\\" -s 01/07/2017 -u 30/11/2017 -f java adoc html css js -i -I -v -t %s\",","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE, OUTPUT_DIRECTORY_ABSOLUTE, DEFAULT_TIME_ZONE_STRING);","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void parse_withExtraWhitespaces_success() throws Exception {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).addWhiteSpace(5)","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE).addWhiteSpace(4)","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\").addWhiteSpace(3)","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\").addWhiteSpace(6)","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js \")","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig().addWhiteSpace(1)","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit().addWhiteSpace(2)","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" .addView().addWhiteSpace(4)","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING).addWhiteSpace(5)","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList(","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"html\", \"css\", \"js\"));","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void parse_configFolderOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" // Optional arguments have default values","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE).build();","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Optional arguments have default values","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.systemDefault(), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void parse_viewOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView(OUTPUT_DIRECTORY_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE, cliArguments.getReportDirectoryPath()));","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" public void parse_withIgnore_success() throws Exception {","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" .add(\"-i\")","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.equals(cliArgumentsWithAlias));","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void parse_withoutIgnore_success() throws Exception {","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void parse_viewOnlyWithoutArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView().build();","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), (","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" cliArguments).getConfigFolderPath().toString());","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void parse_configFolderAndOutputDirectory_success() throws Exception {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d OUTPUT_DIRECTORY_RELATIVE.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" Path expectedAbsoluteOutputDirectoryPath \u003d OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_RELATIVE)","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedAbsoluteOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithouthArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithArgs_returnsConfigCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" public void sinceDate_correctFormat_success() throws Exception {","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" public void untilDate_correctFormat_success() throws Exception {","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" public void sinceDate_withExtraDate_success() throws Exception {","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addSinceDate(\"\\\"01/07/2017 01/07/2018\\\"\")","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" public void untilDate_withExtraTime_success() throws Exception {","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" .addUntilDate(\"\\\"30/11/2017 10:10:10\\\"\")","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":393,"author":{"gitId":"-"},"content":" public void period_inDaysWithSinceDate_success() throws Exception {","isFullCredit":false},{"lineNumber":394,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":395,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")","isFullCredit":false},{"lineNumber":396,"author":{"gitId":"-"},"content":" .addPeriod(\"2d\")","isFullCredit":false},{"lineNumber":397,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":398,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":399,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":400,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":401,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.JULY.getValue(), 3);","isFullCredit":false},{"lineNumber":402,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());","isFullCredit":false},{"lineNumber":403,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":404,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":405,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":406,"author":{"gitId":"-"},"content":" public void period_inWeeksWithUntilDate_success() throws Exception {","isFullCredit":false},{"lineNumber":407,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":408,"author":{"gitId":"-"},"content":" .addUntilDate(\"14/07/2017\")","isFullCredit":false},{"lineNumber":409,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)","isFullCredit":false},{"lineNumber":410,"author":{"gitId":"-"},"content":" .addPeriod(\"2w\")","isFullCredit":false},{"lineNumber":411,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":412,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":413,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":414,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JUNE.getValue(), 30);","isFullCredit":false},{"lineNumber":415,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());","isFullCredit":false},{"lineNumber":416,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":417,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":418,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":419,"author":{"gitId":"-"},"content":" public void formats_inAlphanumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":420,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\"java js css 7z\").build();","isFullCredit":false},{"lineNumber":421,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":422,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":424,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"js\", \"css\", \"7z\"));","isFullCredit":false},{"lineNumber":425,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());","isFullCredit":false},{"lineNumber":426,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":427,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":428,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":429,"author":{"gitId":"-"},"content":" public void numCloningThreads_default_success() throws Exception {","isFullCredit":false},{"lineNumber":430,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();","isFullCredit":false},{"lineNumber":431,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":432,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":433,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_CLONING_THREADS;","isFullCredit":false},{"lineNumber":434,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());","isFullCredit":false},{"lineNumber":435,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":436,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":437,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":438,"author":{"gitId":"-"},"content":" public void numCloningThreads_isNumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":439,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":440,"author":{"gitId":"-"},"content":" .addNumCloningThreads(2)","isFullCredit":false},{"lineNumber":441,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":442,"author":{"gitId":"-"},"content":" System.out.println(input);","isFullCredit":false},{"lineNumber":443,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":444,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":445,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;","isFullCredit":false},{"lineNumber":446,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());","isFullCredit":false},{"lineNumber":447,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":448,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":449,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":450,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_default_success() throws Exception {","isFullCredit":false},{"lineNumber":451,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();","isFullCredit":false},{"lineNumber":452,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":453,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":454,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_ANALYSIS_THREADS;","isFullCredit":false},{"lineNumber":455,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());","isFullCredit":false},{"lineNumber":456,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":457,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":458,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":459,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_isNumeric_success() throws Exception {","isFullCredit":false},{"lineNumber":460,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER","isFullCredit":false},{"lineNumber":461,"author":{"gitId":"-"},"content":" .addNumAnalysisThreads(2)","isFullCredit":false},{"lineNumber":462,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":463,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":464,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":465,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;","isFullCredit":false},{"lineNumber":466,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());","isFullCredit":false},{"lineNumber":467,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":468,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":469,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":470,"author":{"gitId":"-"},"content":" public void parse_validGitRepoLocations_repoConfigurationListCorrectSize() throws Exception {","isFullCredit":false},{"lineNumber":471,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":472,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":473,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":474,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)","isFullCredit":false},{"lineNumber":475,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":476,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, repoConfigs.size());","isFullCredit":false},{"lineNumber":477,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":478,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":479,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":480,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndView_returnsLocationCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":481,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":482,"author":{"gitId":"-"},"content":" .addView()","isFullCredit":false},{"lineNumber":483,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":484,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":485,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":486,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":487,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":488,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":489,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":490,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":491,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":492,"author":{"gitId":"-"},"content":" public void parse_repoLocationsOnly_success() throws Exception {","isFullCredit":false},{"lineNumber":493,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":494,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":495,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":496,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":497,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":498,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":499,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":500,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":501,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndViewWithArgs_returnsLocationsCliArguments() throws Exception {","isFullCredit":false},{"lineNumber":503,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":504,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":505,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":506,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":507,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":508,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());","isFullCredit":false},{"lineNumber":509,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);","isFullCredit":false},{"lineNumber":510,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());","isFullCredit":false},{"lineNumber":511,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":512,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":513,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":514,"author":{"gitId":"-"},"content":" public void parse_configOrLocationsSimilar_success() throws Exception {","isFullCredit":false},{"lineNumber":515,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();","isFullCredit":false},{"lineNumber":516,"author":{"gitId":"-"},"content":" CliArguments configCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":517,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualRepoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":518,"author":{"gitId":"-"},"content":" .getRunConfiguration(configCliArguments)","isFullCredit":false},{"lineNumber":519,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":520,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":521,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addRepos(TEST_REPO_BETA, TEST_REPO_CHARLIE, TEST_REPO_DELTA).build();","isFullCredit":false},{"lineNumber":522,"author":{"gitId":"-"},"content":" CliArguments locationCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":523,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedRepoConfigs \u003d RunConfigurationDecider","isFullCredit":false},{"lineNumber":524,"author":{"gitId":"-"},"content":" .getRunConfiguration(locationCliArguments)","isFullCredit":false},{"lineNumber":525,"author":{"gitId":"-"},"content":" .getRepoConfigurations();","isFullCredit":false},{"lineNumber":526,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":527,"author":{"gitId":"-"},"content":" Assertions.assertEquals(actualRepoConfigs, expectedRepoConfigs);","isFullCredit":false},{"lineNumber":528,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":529,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":530,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":531,"author":{"gitId":"-"},"content":" public void emptyArgs_defaultConfigFolderPath() throws Exception {","isFullCredit":false},{"lineNumber":532,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(new String[] {});","isFullCredit":false},{"lineNumber":533,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":534,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), cliArguments.getConfigFolderPath().toString());","isFullCredit":false},{"lineNumber":535,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":536,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":537,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void parse_repoAliases_sameResult() throws Exception {","isFullCredit":false},{"lineNumber":539,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_BETA).build();","isFullCredit":false},{"lineNumber":540,"author":{"gitId":"-"},"content":" CliArguments repoAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":541,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":542,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().add(String.format(\"--repos %s\", TEST_REPO_BETA)).build();","isFullCredit":false},{"lineNumber":543,"author":{"gitId":"-"},"content":" CliArguments reposAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":544,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":545,"author":{"gitId":"-"},"content":" Assertions.assertEquals(repoAliasCliArguments, reposAliasCliArguments);","isFullCredit":false},{"lineNumber":546,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":547,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":548,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void absoluteConfigFolder_withoutRequiredConfigFiles_throwsParseException() {","isFullCredit":false},{"lineNumber":550,"author":{"gitId":"-"},"content":" Path absDirectory \u003d PROJECT_DIRECTORY.getParent().toAbsolutePath();","isFullCredit":false},{"lineNumber":551,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absDirectory).build();","isFullCredit":false},{"lineNumber":552,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":553,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":554,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":555,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void relativeConfigFolder_withoutRequiredConfigFiles_throwsParseException() {","isFullCredit":false},{"lineNumber":557,"author":{"gitId":"-"},"content":" Path relDirectory \u003d PROJECT_DIRECTORY.getParent();","isFullCredit":false},{"lineNumber":558,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(relDirectory).build();","isFullCredit":false},{"lineNumber":559,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":560,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":561,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":562,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":563,"author":{"gitId":"-"},"content":" public void parse_notExistsConfigFolder_throwsParseException() {","isFullCredit":false},{"lineNumber":564,"author":{"gitId":"-"},"content":" Path absConfigFolder \u003d PROJECT_DIRECTORY.resolve(\"non_existing_random_folder\");","isFullCredit":false},{"lineNumber":565,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absConfigFolder).build();","isFullCredit":false},{"lineNumber":566,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":567,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":568,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":569,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":570,"author":{"gitId":"-"},"content":" public void parse_configCsvFileAsConfigFolder_throwsParseException() {","isFullCredit":false},{"lineNumber":571,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(REPO_CONFIG_CSV_FILE).build();","isFullCredit":false},{"lineNumber":572,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":573,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":574,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":575,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":576,"author":{"gitId":"-"},"content":" public void parse_missingConfigValue_throwsParseException() {","isFullCredit":false},{"lineNumber":577,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(new File(\"\").toPath()).build();","isFullCredit":false},{"lineNumber":578,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":579,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":580,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void outputPath_nonExistentDirectory_success() throws Exception {","isFullCredit":false},{"lineNumber":583,"author":{"gitId":"-"},"content":" Path nonExistentDirectory \u003d PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY);","isFullCredit":false},{"lineNumber":584,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d nonExistentDirectory.resolve(ArgsParser.DEFAULT_REPORT_NAME);","isFullCredit":false},{"lineNumber":585,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOutput(nonExistentDirectory).build();","isFullCredit":false},{"lineNumber":586,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":587,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":588,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(","isFullCredit":false},{"lineNumber":589,"author":{"gitId":"-"},"content":" expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));","isFullCredit":false},{"lineNumber":590,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":591,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":592,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":593,"author":{"gitId":"-"},"content":" public void sinceDate_unsupportedFormats_throwsParseException() {","isFullCredit":false},{"lineNumber":594,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01 July 17\").build();","isFullCredit":false},{"lineNumber":595,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":596,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":597,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":598,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void untilDate_unsupportedFormats_throwsParseException() {","isFullCredit":false},{"lineNumber":600,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addUntilDate(\"11/31/2017\").build();","isFullCredit":false},{"lineNumber":601,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":602,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":603,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":604,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":605,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanUntilDate_throwsParseException() {","isFullCredit":false},{"lineNumber":606,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01/12/2017\")","isFullCredit":false},{"lineNumber":607,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":608,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":609,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":610,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":611,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":612,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":613,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanCurrentDate_throwsParseException() {","isFullCredit":false},{"lineNumber":614,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":615,"author":{"gitId":"-"},"content":" .plusDays(1L);","isFullCredit":false},{"lineNumber":616,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","isFullCredit":false},{"lineNumber":617,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);","isFullCredit":false},{"lineNumber":618,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":619,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":620,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)","isFullCredit":false},{"lineNumber":621,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":622,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":623,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":624,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":625,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":626,"author":{"gitId":"-"},"content":" public void sinceDate_beforeUntilDateAndLaterThanCurrentDate_throwsParseException() {","isFullCredit":false},{"lineNumber":627,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":628,"author":{"gitId":"-"},"content":" .plusDays(1L);","isFullCredit":false},{"lineNumber":629,"author":{"gitId":"-"},"content":" LocalDateTime dayAfterDateTime \u003d LocalDateTime.now()","isFullCredit":false},{"lineNumber":630,"author":{"gitId":"-"},"content":" .plusDays(2L);","isFullCredit":false},{"lineNumber":631,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":632,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","isFullCredit":false},{"lineNumber":633,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);","isFullCredit":false},{"lineNumber":634,"author":{"gitId":"-"},"content":" String dayAfter \u003d dayAfterDateTime.format(formatter);","isFullCredit":false},{"lineNumber":635,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":636,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)","isFullCredit":false},{"lineNumber":637,"author":{"gitId":"-"},"content":" .addUntilDate(dayAfter)","isFullCredit":false},{"lineNumber":638,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":639,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":640,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":641,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":642,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void period_withBothSinceDateAndUntilDate_throwsParseException() {","isFullCredit":false},{"lineNumber":644,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"18d\")","isFullCredit":false},{"lineNumber":645,"author":{"gitId":"-"},"content":" .addSinceDate(\"30/11/2017\")","isFullCredit":false},{"lineNumber":646,"author":{"gitId":"-"},"content":" .addUntilDate(\"01/12/2017\")","isFullCredit":false},{"lineNumber":647,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":648,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":649,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":650,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":651,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void period_notNumeric_throwsParseExcpetion() {","isFullCredit":false},{"lineNumber":653,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"abcd\").build();","isFullCredit":false},{"lineNumber":654,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":655,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":656,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":657,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void period_isZero_throwsParseExcpetion() {","isFullCredit":false},{"lineNumber":659,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"0w\").build();","isFullCredit":false},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":661,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":662,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void formats_notInAlphanumeric_throwsParseException() {","isFullCredit":false},{"lineNumber":665,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\".java\").build();","isFullCredit":false},{"lineNumber":666,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":667,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":668,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":669,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":670,"author":{"gitId":"-"},"content":" public void parse_mutuallyExclusiveArgumentsConfigAndReposTogether_throwsParseException() {","isFullCredit":false},{"lineNumber":671,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":672,"author":{"gitId":"-"},"content":" .addRepos(TEST_REPO_REPOSENSE)","isFullCredit":false},{"lineNumber":673,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":674,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":675,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":676,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":677,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":678,"author":{"gitId":"-"},"content":" public void parse_extraArgumentForIgnore_throwsParseException() {","isFullCredit":false},{"lineNumber":679,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addIgnoreStandaloneConfig().add(\"true\").build();","isFullCredit":false},{"lineNumber":680,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":681,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":682,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":683,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":684,"author":{"gitId":"-"},"content":" public void parse_withTimezone_success() throws Exception {","isFullCredit":false},{"lineNumber":685,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC+11\";","isFullCredit":false},{"lineNumber":686,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":687,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":688,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":689,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":690,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":691,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC-1030\";","isFullCredit":false},{"lineNumber":692,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":693,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":694,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":696,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":697,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC\";","isFullCredit":false},{"lineNumber":698,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();","isFullCredit":false},{"lineNumber":699,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":700,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":701,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());","isFullCredit":false},{"lineNumber":702,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":703,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":704,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":705,"author":{"gitId":"-"},"content":" public void parse_incorrectTimezone_throwsParseException() {","isFullCredit":false},{"lineNumber":706,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"UTC+\").build();","isFullCredit":false},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":708,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":709,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":710,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":711,"author":{"gitId":"-"},"content":" public void parse_timezoneWithoutArgument_throwsParseException() {","isFullCredit":false},{"lineNumber":712,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"\").build();","isFullCredit":false},{"lineNumber":713,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":714,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":715,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":716,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":717,"author":{"gitId":"-"},"content":" public void parse_shallowCloning_success() throws Exception {","isFullCredit":false},{"lineNumber":718,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":719,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":720,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":721,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":722,"author":{"gitId":"-"},"content":" Assertions.assertEquals(false, cliArguments.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":723,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":724,"author":{"gitId":"-"},"content":" String inputShallow \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)","isFullCredit":false},{"lineNumber":725,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)","isFullCredit":false},{"lineNumber":726,"author":{"gitId":"-"},"content":" .addShallowCloning()","isFullCredit":false},{"lineNumber":727,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":728,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsShallow \u003d ArgsParser.parse(translateCommandline(inputShallow));","isFullCredit":false},{"lineNumber":729,"author":{"gitId":"-"},"content":" Assertions.assertEquals(true, cliArgumentsShallow.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":730,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":731,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":732,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":733,"author":{"gitId":"-"},"content":" public void parse_withAnalyzeAuthorship_success() throws Exception {","isFullCredit":false},{"lineNumber":734,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":735,"author":{"gitId":"-"},"content":" .addAnalyzeAuthorship()","isFullCredit":false},{"lineNumber":736,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":737,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":738,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":739,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)","isFullCredit":false},{"lineNumber":740,"author":{"gitId":"-"},"content":" .add(\"-A\")","isFullCredit":false},{"lineNumber":741,"author":{"gitId":"-"},"content":" .build();","isFullCredit":false},{"lineNumber":742,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":743,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":744,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":745,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":746,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":747,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);","isFullCredit":false},{"lineNumber":748,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":749,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":750,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":751,"author":{"gitId":"-"},"content":" public void parse_withoutAnalyzeAuthorship_success() throws Exception {","isFullCredit":false},{"lineNumber":752,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_BETA).build();","isFullCredit":false},{"lineNumber":753,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":754,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":755,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAuthorshipAnalyzed());","isFullCredit":false},{"lineNumber":756,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":757,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":758,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void parse_withOriginalityThreshold_success() throws Exception {","isFullCredit":false},{"lineNumber":760,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOriginalityThreshold(0.1234).build();","isFullCredit":false},{"lineNumber":761,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":762,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":763,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().add(\"-ot 0.9876\").build();","isFullCredit":false},{"lineNumber":764,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));","isFullCredit":false},{"lineNumber":765,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":766,"author":{"gitId":"-"},"content":" Assertions.assertEquals(0.1234, cliArguments.getOriginalityThreshold());","isFullCredit":false},{"lineNumber":767,"author":{"gitId":"-"},"content":" Assertions.assertEquals(0.9876, cliArgumentsWithAlias.getOriginalityThreshold());","isFullCredit":false},{"lineNumber":768,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":769,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":770,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":771,"author":{"gitId":"-"},"content":" public void parse_originalityThresholdWithoutArgument_throwsParseException() {","isFullCredit":false},{"lineNumber":772,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().add(\"-ot\").build();","isFullCredit":false},{"lineNumber":773,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));","isFullCredit":false},{"lineNumber":774,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":775,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":776,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":777,"author":{"gitId":"-"},"content":" public void parse_originalityThresholdOutOfBound_throwsParseException() {","isFullCredit":false},{"lineNumber":778,"author":{"gitId":"-"},"content":" String inputBelowBound \u003d new InputBuilder().addOriginalityThreshold(-0.001).build();","isFullCredit":false},{"lineNumber":779,"author":{"gitId":"-"},"content":" String inputAboveBound \u003d new InputBuilder().addOriginalityThreshold(1.0001).build();","isFullCredit":false},{"lineNumber":780,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":781,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(inputBelowBound)));","isFullCredit":false},{"lineNumber":782,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(inputAboveBound)));","isFullCredit":false},{"lineNumber":783,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":784,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":785,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":786,"author":{"gitId":"-"},"content":" * Ensures that {@code actualSinceDate} is exactly one month before {@code untilDate}.","isFullCredit":false},{"lineNumber":787,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":788,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualSinceDate} is not one month before {@code untilDate}.","isFullCredit":false},{"lineNumber":789,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":790,"author":{"gitId":"-"},"content":" private void assertDateDiffOneMonth(LocalDateTime actualSinceDate, LocalDateTime untilDate) {","isFullCredit":false},{"lineNumber":791,"author":{"gitId":"-"},"content":" LocalDateTime oneMonthBeforeUntilDate \u003d untilDate.withHour(0).withMinute(0).withSecond(0).minusMonths(1);","isFullCredit":false},{"lineNumber":792,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualSinceDate.equals(oneMonthBeforeUntilDate));","isFullCredit":false},{"lineNumber":793,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":794,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":795,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":796,"author":{"gitId":"-"},"content":" * Ensures that {@code actualUntilDate} falls on the date of report generation with time at 23:59:59.","isFullCredit":false},{"lineNumber":797,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":798,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualUntilDate} does not fall on the date of report generation","isFullCredit":false},{"lineNumber":799,"author":{"gitId":"-"},"content":" * with time at 23:59:59.","isFullCredit":false},{"lineNumber":800,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":801,"author":{"gitId":"-"},"content":" private void assertDateDiffEndOfDay(LocalDateTime actualUntilDate) {","isFullCredit":false},{"lineNumber":802,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":803,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d LocalDateTime.now().withHour(23).withMinute(59).withSecond(59).withNano(0);","isFullCredit":false},{"lineNumber":804,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualUntilDate.equals(currentDate));","isFullCredit":false},{"lineNumber":805,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":806,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":804}},{"path":"src/test/java/reposense/parser/AuthorConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.AbstractMap.SimpleEntry;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class AuthorConfigParserTest {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_emptyLocation_test.csv\");","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_CONFIG_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/require_trailing_whitespaces/authorconfig_emptyConfig_test.csv\");","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_noSpecialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_specialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_commasAndDoubleQuotes_test.csv\");","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleEmails_test.csv\");","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_MANDATORY_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_UNKNOWN_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_unknownHeaders_test.csv\");","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GITHUB_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHubIdHeader_test.csv\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GIT_HOST_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHostIdHeader_test.csv\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE \u003d loadResource(AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRow_test.csv\");","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowSingleBranchPerRepo_test.csv\");","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowMultipleBranchPerRepo_test.csv\");","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS \u003d","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Arrays.asList(FIRST_AUTHOR, SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" private static final Author FIRST_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"‘Processed�‘Cooked�\");","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final Author SECOND_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"(codeeong)\");","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author THIRD_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"^:jordancjq;$\");","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FIRST_SPECIAL_CHARACTER_AUTHOR, SECOND_SPECIAL_CHARACTER_AUTHOR, THIRD_SPECIAL_CHARACTER_AUTHOR);","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final Author FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"ProcessedCooked\");","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final Author SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"codeeong\");","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final Author THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"jordancjq\");","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"Tay Fan Gao, Douya\";","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final String SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"\\\"\\\"Tora, S/O,\\\" Doyua, T.\\\"\";","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"jordancjq\";","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" Collections.singletonList(\"Tay Fan Gao, Douya \\\"SOC, Y2S1\\\"\");","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d Collections.emptyList();","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" Arrays.asList(\"Borex T\\\"ony Tong\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, List\u003cString\u003e\u003e AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR, FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS),","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR, SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS))","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, String\u003e AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR,","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR,","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME))","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_EMAIL_LIST \u003d","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" Arrays.asList(\"nbr@example.com\", \"nbriannl@test.net\", \"nbriannl@users.noreply.github.com\",","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"nbriannl@users.noreply.gitlab.com\");","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void authorConfig_noSpecialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" public void authorConfig_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" AuthorConfiguration expectedConfig \u003d new AuthorConfiguration(new RepoLocation(\"\"));","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_LOCATION_FILE);","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig \u003d authorConfigs.get(0);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, authorConfigs.size());","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getLocation(), authorConfig.getLocation());","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfig.getBranch());","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, authorConfig.getAuthorList());","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void authorConfig_emptyConfig_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_CONFIG_FILE);","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void authorConfig_specialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void authorConfig_multipleEmails_success() throws Exception {","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE);","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" Author actualAuthor \u003d config.getAuthorList().get(0);","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_AUTHOR_EMAIL_LIST.size(), actualAuthor.getEmails().size());","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualAuthor.getEmails().containsAll(FIRST_AUTHOR_EMAIL_LIST));","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void authorConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER);","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void authorConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER);","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, config.getAuthorList().size());","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void authorConfig_newGitHostIdHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser;","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GIT_HOST_ID_HEADER);","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHostIdHeader \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GITHUB_ID_HEADER);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHubIdHeader \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configsWithGitHubIdHeader, configsWithGitHostIdHeader);","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" public void authorConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_MANDATORY_HEADER);","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" public void authorConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_UNKNOWN_HEADER);","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e authorConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void parse_multipleColumnsWithCommasAndDoubleQuotes_success() throws Exception {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE);","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP, config.getAuthorDisplayNameMap());","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.size(), config.getAuthorList().size());","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" config.getAuthorList().forEach(author -\u003e {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.get(author), author.getAuthorAliases());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRow_success() throws Exception {","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" String defaultSpecifiedBranch \u003d \"master\";","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/reposense.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/markbind/markbind.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/TEAMMATES/teammates.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/CATcher-org/CATcher.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowSingleBranchPerRepo_success() throws Exception {","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/RepoSense.git\"), config.getLocation());","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowMultipleBranchPerRepo_success() throws Exception {","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE);","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(5, configs.size());","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" config \u003d configs.get(4);","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gh-pages\", config.getBranch());","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":315}},{"path":"src/test/java/reposense/parser/BlurbMarkdownParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Map;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidMarkdownException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"public class BlurbMarkdownParserTest {","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path EMPTY_BLURB_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/empty_blurbs.md\");","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MALFORMED_URL_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/malformed_url_blurb.md\");","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MALFORMED_DELIMITER_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/malformed_delimiter_blurb.md\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MULTILINE_BLURB_TESTER \u003d loadResource(BlurbMarkdownParserTest.class,","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/multiline_blurb.md\");","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private static final Path MULTIPLE_BLURB_TESTER \u003d loadResource(BlurbMarkdownParser.class,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" \"BlurbMarkdownParserTest/multiple_blurbs.md\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_emptyBlurbTest_throwsException() {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" InvalidMarkdownException.class, () -\u003e new BlurbMarkdownParser(EMPTY_BLURB_TESTER).parse()","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_malformedUrlBlurbTest_throwsException() {","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" InvalidMarkdownException.class, () -\u003e new BlurbMarkdownParser(MALFORMED_URL_TESTER).parse()","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_malformedDelimiterBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MALFORMED_DELIMITER_TESTER);","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.containsKey(\"https://github.com/reposense/testrepo-Alpha/tree/master\"));","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" + \"\u003c!--repo--bunchofcharacters that don\u0027t count\u003e\\n\"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" + \"https://github.com/reposense/testrepo-Alpha/tree/master\\n\"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" + \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" + \"\u003c!--repo - this is not legal and will be captured as part of the text --\u003e\"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_multilineBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MULTILINE_BLURB_TESTER);","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.containsKey(\"https://github.com/reposense/testrepo-Alpha/tree/master\"));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\\n\"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" + \"A\\n\"","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" + \"long\\n\"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" + \"line\\n\"","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" + \"of\\n\"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" + \"description\\n\"","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" + \"of\\n\"","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" + \"testrepo\\n\"","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" + \"Alpha\"","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" @Test","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" public void parse_multipleBlurbTest_success() throws Exception {","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" BlurbMarkdownParser bmp \u003d new BlurbMarkdownParser(MULTIPLE_BLURB_TESTER);","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" Map\u003cString, String\u003e bm \u003d bmp.parse().getAllMappings();","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(bm.keySet().containsAll(","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":" List.of(\"https://github.com/reposense/testrepo-Alpha/tree/master\",","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Beta/tree/master\",","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Gamma/tree/master\",","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" \"https://github.com/reposense/testrepo-Sigma/tree/master\")","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" ));","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Alpha/tree/master\"),","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Alpha\"","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Beta/tree/master\"),","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Beta\"","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Gamma/tree/master\"),","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Gamma\"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":" bm.get(\"https://github.com/reposense/testrepo-Sigma/tree/master\"),","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" \"Master branch of testrepo-Sigma\"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" );","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" }","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":101}},{"path":"src/test/java/reposense/parser/GroupConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class GroupConfigParserTest {","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MULTI_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_multipleLocation_test.csv\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_emptyLocation_test.csv\");","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_unknownHeader_test.csv\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" new FileType(\"Code\", Arrays.asList(\"**/*.java\", \"**/*.py\")),","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" new FileType(\"Docs\", Collections.singletonList(\"docs/**\")));","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_GROUPS \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" new FileType(\"Main\", Collections.singletonList(\"src/main/**\")),","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" new FileType(\"Test\", Arrays.asList(\"src/test/**\", \"src/systest/**\")));","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void groupConfig_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_EMPTY_LOCATION_FILE);","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" GroupConfiguration actualReposenseConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualReposenseConfig.getGroupsList().size());","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" GroupConfiguration actualEmptyLocationConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualEmptyLocationConfig.getGroupsList().size());","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void groupConfig_multipleLocations_success() throws Exception {","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MULTI_LOCATION_FILE);","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void groupConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void groupConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE);","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, groupConfigs.size());","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, groupConfigs.get(0).getGroupsList().size());","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void groupConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE);","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e groupConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void groupConfig_unknownHeader_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" GROUP_CONFIG_UNKNOWN_HEADER_FILE);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e groupConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2,"-":109}},{"path":"src/test/java/reposense/parser/RepoConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.ArrayList;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class RepoConfigParserTest {","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path TEST_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class, \"repoconfig_merge_test\");","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path TEST_EMPTY_BRANCH_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"repoconfig_empty_branch_test\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_noSpecialCharacter_test.csv\");","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OVERRIDE_KEYWORD_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_overrideKeyword_test.csv\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_REDUNDANT_LINES_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/require_trailing_whitespaces/repoconfig_redundantLines_test.csv\");","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE \u003d","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unrecognizedValuesForYesKeywordHeaders_test.csv\");","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE \u003d","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseSensitive_test.csv\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE \u003d","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseInsensitive_test.csv\");","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_differentColumnOrder_test.csv\");","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingOptionalHeader_test.csv\");","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingMandatoryHeader_test.csv\");","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final Path MERGE_EMPTY_LOCATION_FOLDER \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_merge_empty_location_test\");","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unknownHeaders_test.csv\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_INVALID_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_invalidFileSizeLimit_test.csv\");","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_ignoreFileSizeLimit_test.csv\");","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_ZERO_VALID_RECORDS \u003d loadResource(RepoConfigParserTest.class,","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"CsvParserTest/repoconfig_zeroValidRecords_test.csv\");","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH \u003d \"add-config-json\";","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_FORMATS \u003d","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"fxml\"));","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_CONFIG_FORMATS \u003d","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"adoc\", \"md\"));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TEST_REPO_BETA_CONFIG_IGNORED_COMMITS \u003d","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" Arrays.asList(\"abcde12345\", \"67890fdecba\");","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final int FILE_SIZE_LIMIT_VALUE \u003d 100000;","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_LOCATION \u003d \"https://github.com/reposense/testrepo-Charlie.git\";","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_BRANCH \u003d \"HEAD\";","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Arrays.asList(\"Zachary Tang\");","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Arrays.asList(\"collated**\");","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.java\", \"collated**\");","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.doc\", \"collated**\");","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void repoConfig_noSpecialCharacter_success() throws Exception {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getFileSizeLimit(), FILE_SIZE_LIMIT_VALUE);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void merge_twoRepoConfigs_success() throws Exception {","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration firstRepo \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" firstRepo.setAuthorList(expectedAuthors);","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" firstRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" firstRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration secondRepo \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH)","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" secondRepo.setAuthorList(Arrays.asList(SECOND_AUTHOR));","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" secondRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" secondRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" secondRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_CONFIG_FOLDER).build();","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(firstRepo, actualConfigs.get(0));","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(secondRepo, actualConfigs.get(1));","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void merge_emptyLocation_success() throws Exception {","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedBetaAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(SECOND_AUTHOR);","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedDeltaAuthors \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" expectedDeltaAuthors.add(FIRST_AUTHOR);","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoConfiguration expectedBetaConfig \u003d","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorList(expectedBetaAuthors);","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" expectedBetaConfig.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIsShallowCloningPerformed(true);","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" RepoConfiguration expectedDeltaConfig \u003d","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA_LOCATION))","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_DELTA_BRANCH)","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorList(expectedDeltaAuthors);","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setStandaloneConfigIgnored(true);","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setFormats(TEST_REPO_DELTA_FORMATS);","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedConfigs \u003d new ArrayList\u003c\u003e();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedBetaConfig);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedDeltaConfig);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(MERGE_EMPTY_LOCATION_FOLDER).build();","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfigs, actualConfigs);","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(0), actualConfigs.get(0));","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(1), actualConfigs.get(1));","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void repoConfig_defaultBranch_success() throws Exception {","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_EMPTY_BRANCH_CONFIG_FOLDER).build();","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), actualConfigs.get(0).getBranch());","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfigs.get(0).getBranch());","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":" public void repoConfig_overrideKeyword_success() throws Exception {","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OVERRIDE_KEYWORD_FILE);","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS),","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"-"},"content":" config.getIgnoreCommitList());","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FILE_SIZE_LIMIT_VALUE, config.getFileSizeLimit());","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"-"},"content":" public void repoConfig_redundantLines_success() throws Exception {","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_REDUNDANT_LINES_FILE);","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, configs.size());","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"-"},"content":" RepoConfiguration betaConfig \u003d configs.get(0);","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"-"},"content":" RepoConfiguration charlieConfig \u003d configs.get(1);","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"-"},"content":" RepoConfiguration deltaConfig \u003d configs.get(2);","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), betaConfig.getLocation());","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, betaConfig.getBranch());","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_CHARLIE_LOCATION), charlieConfig.getLocation());","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_CHARLIE_BRANCH, charlieConfig.getBranch());","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_DELTA_LOCATION), deltaConfig.getLocation());","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_BRANCH, deltaConfig.getBranch());","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(deltaConfig.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void repoConfig_differentColumnOrder_success() throws Exception {","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void repoConfig_missingOptionalHeader_success() throws Exception {","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE);","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_FILE_SIZE_LIMIT, config.getFileSizeLimit());","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"-"},"content":" public void repoConfig_withUnrecognizedValuesForYesKeywordHeaders_valuesIgnored() throws Exception {","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE);","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isStandaloneConfigIgnored());","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isShallowCloningPerformed());","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFindingPreviousAuthorsPerformed());","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"-"},"content":" public void repoConfig_invalidFileSizeLimit_valueIgnored() throws Exception {","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_INVALID_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configs.get(0).getFileSizeLimit(), DEFAULT_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_ignoreFileSizeColumns() throws Exception {","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT);","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"-"},"content":" Assertions.assertTrue(configs.get(0).isFileSizeLimitIgnored());","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void repoConfig_mandatoryHeaderMissing_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE);","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"-"},"content":" public void repoConfig_zeroValidRecords_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_ZERO_VALID_RECORDS);","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseSensitive_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE);","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseInsensitive_throwsInvalidCsvException() throws Exception {","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE);","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNKNOWN_HEADER_FILE);","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e repoConfigCsvParser.parse());","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":22,"-":370}},{"path":"src/test/java/reposense/parser/StandaloneConfigJsonParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.FileType;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class StandaloneConfigJsonParserTest {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_MALFORMED_CONFIG \u003d loadResource(","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class, \"StandaloneConfigJsonParserTest/standaloneConfig_malformedJson.json\");","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_UNKNOWN_PROPERTY_CONFIG \u003d loadResource(","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_unknownPropertyInJson.json\");","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_FULL \u003d loadResource(","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_full.json\");","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_TEXT_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyText.json\");","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_JSON_FILE \u003d loadResource(","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyJson.json\");","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_GITHUBID_ONLY \u003d loadResource(","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_githubId_only.json\");","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String TEST_DUMMY_LOCATION \u003d \"https://github.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedGithubIdOnlyRepoconfig;","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedFullRepoConfig;","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" Author author \u003d new Author(\"yong24s\");","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(\"Yong Hao TENG\"));","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(Arrays.asList(\"**.css\", \"**.html\", \"**.jade\", \"**.js\"));","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" expectedGithubIdOnlyRepoconfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setFormats(FileTypeTest.NO_SPECIFIED_FORMATS);","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setAuthorList(Arrays.asList(new Author(\"yong24s\")));","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" expectedFullRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setFormats(FileType.convertFormatStringsToFileTypes(","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" Arrays.asList(\"gradle\", \"jade\", \"java\", \"js\", \"md\", \"scss\", \"yml\")));","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreCommitList(Arrays.asList(new CommitHash(","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"7b96c563eb2d3612aa5275364333664a18f01491\")));","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreGlobList(Arrays.asList(\"**.adoc\", \"collate**\"));","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoredAuthorsList(Arrays.asList(\"yong24s\"));","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorList(Arrays.asList(author));","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorDisplayName(author, \"Yong Hao\");","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, Arrays.asList(author.getGitId()));","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, author.getAuthorAliases());","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyTextFile_success() throws Exception {","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_TEXT_FILE);","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyJsonFile_success() throws Exception {","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_JSON_FILE);","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void standaloneConfig_ignoresUnknownProperty_success() throws Exception {","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_UNKNOWN_PROPERTY_CONFIG);","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void standaloneConfig_correctConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_FULL);","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertSameConfig(expectedFullRepoConfig, config);","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void standaloneConfig_githubIdOnlyConfig_success() throws Exception {","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_GITHUBID_ONLY);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertSameConfig(expectedGithubIdOnlyRepoconfig, config);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" public void standaloneConfig_malformedJsonFile_throwsJsonSyntaxException() {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(JsonSyntaxException.class, () -\u003e new StandaloneConfigJsonParser()","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" .parse(STANDALONE_MALFORMED_CONFIG));","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" private void assertSameConfig(RepoConfiguration expectedRepoConfig, StandaloneConfig actualStandaloneConfig)","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" throws Exception {","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualRepoConfig \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" actualRepoConfig.update(actualStandaloneConfig);","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedRepoConfig, actualRepoConfig);","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":114}},{"path":"src/test/java/reposense/report/ErrorSummaryTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class ErrorSummaryTest {","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":" public void errorSummary_addRepeatedErrorMessage_containsNoDuplicates() {","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" String invalidLocation1 \u003d \"ttp://github.com/reposense.RepoSense.git\";","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" String invalidLocation2 \u003d \"https://github.com/contains-illegal-chars/^\\\\/\";","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" String invalidLocation3 \u003d \"not-valid-protocol://abc.com/reposense/RepoSense.git\";","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":" ErrorSummary errorSummaryInstance \u003d ErrorSummary.getInstance();","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" errorSummaryInstance.clearErrorSet();","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation2);","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation3);","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" // not relevant to the test","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, errorSummaryInstance.getErrorSet().size());","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":1,"-":53}},{"path":"src/test/java/reposense/report/RepoClonerTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoClonerTest {","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_EMPTY_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Empty.git\";","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path REPOCLONE_LOCAL_TEST_PATH \u003d","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":" Paths.get(FileUtil.REPOS_ADDRESS, \"repoclone test/dummy-repo\");","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" public void repoCloner_emptyRepo_failsGracefully() throws Exception {","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" RepoConfiguration emptyRepositoryRepoConfig \u003d","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_EMPTY_GIT_LOCATION)).build();","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(emptyRepositoryRepoConfig);","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" Assertions.assertNull(clonedRepoLocation);","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void repoCloner_validRepoLocationWithRelativePathingAndSpaces_success() throws Exception {","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" // Clones a test repository into the test directory for testing of relative pathing","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration tempRemoteConfiguration \u003d new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION)).build();","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneBare(tempRemoteConfiguration, Paths.get(\".\"), REPOCLONE_LOCAL_TEST_PATH.toString());","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" RepoConfiguration repoWithRelativePathingAndSpacesAndEndingBackslash \u003d","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(REPOCLONE_LOCAL_TEST_PATH.toString())).build();","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(repoWithRelativePathingAndSpacesAndEndingBackslash);","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(REPOCLONE_LOCAL_TEST_PATH));","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":43}},{"path":"src/test/java/reposense/template/GitTestTemplate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.template;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.parser.ArgsParser.DEFAULT_ORIGINALITY_THRESHOLD;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Iterator;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoAnalyzer;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoExtractor;","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Contains templates for git testing.","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"public class GitTestTemplate {","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected static final String IGNORE_REVS_FILE_NAME \u003d \".git-blame-ignore-revs\";","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_BLAME_WITH_PREVIOUS_AUTHORS_BRANCH \u003d \"1565-find-previous-authors\";","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected static final String FIRST_COMMIT_HASH \u003d \"7d7584f\";","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected static final String ROOT_COMMIT_HASH \u003d \"fd425072e12004b71d733a58d819d845509f8db3\";","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH \u003d \"2fb6b9b\";","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_LONG \u003d \"2fb6b9b2dd9fa40bf0f9815da2cb0ae8731436c7\";","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_PARENT \u003d \"c5a6dc774e22099cd9ddeb0faff1e75f9cf4f151\";","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" protected static final String SECOND_COMMIT_HASH \u003d \"05310e79fe8e54c5096bacc97b886ab24304d12b\";","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" protected static final String MERGE_COMMIT_HASH \u003d \"7937ff5334ee45cb51e8cfd83a2237d33568a20c\";","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" protected static final List\u003cString\u003e MERGE_COMMIT_PARENTS_HASHES \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"22aec0be218b0c71065e65460ab48a2d95c8c681\", \"271bfbb0f0624481825abd812ff1d27768f9aba0\");","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_NAME \u003d \"harryggg\";","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_NAME \u003d \"fakeAuthor\";","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" protected static final String UNCONVENTIONAL_AUTHOR_NAME \u003d \"-unconventional_author-\";","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected static final String WHITESPACE_AUTHOR_NAME \u003d \"whitespace author\";","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" protected static final String IGNORED_AUTHOR_NAME \u003d \"FH-30\";","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_NAME \u003d \"eugenepeh\";","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" protected static final String YONG_AUTHOR_NAME \u003d \"Yong Hao TENG\";","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected static final String MINGYI_AUTHOR_NAME \u003d \"myteo\";","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected static final String SHICHEN_AUTHOR_NAME \u003d \"SkyBlaise\";","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" protected static final String JAMES_AUTHOR_NAME \u003d \"jamessspanggg\";","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected static final String JAMES_ALTERNATIVE_AUTHOR_NAME \u003d \"James Pang\";","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" protected static final String JINYAO_AUTHOR_NAME \u003d \"jylee-git\";","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected static final String CHENGYU_AUTHOR_NAME \u003d \"HCY123902\";","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH \u003d \"abbd5888d5cd4e411c6a8e58e661b0eafdae1335\";","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH_PARENT \u003d \"f768b9b1d9d1478f8ac8cf3b4c7f868479edc07a\";","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" protected static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING \u003d","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"2d87a431fcbb8f73a731b6df0fcbee962c85c250\";","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" protected static final CommitHash EUGENE_AUTHOR_README_FILE_COMMIT_07052018 \u003d","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" new CommitHash(EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING \u003d","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected static final CommitHash FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018 \u003d","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING);","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected static final CommitHash MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018 \u003d","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" new CommitHash(MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING);","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected static final String AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING \u003d","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"1d29339e7d16eb5b2bc8fb542e08acedd3d4b0eb\";","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected static final CommitHash AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021 \u003d","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING);","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"7d7584fc204922cc5ff3bd5ca073cad6bed2c46a\";","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING \u003d","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING \u003d","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"8e4ca1da5d413e9ab84a1e8d1474918afa97f7a1\";","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING \u003d","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e FAKE_AUTHOR_BLAME_RANGED_COMMIT_LIST_09022018 \u003d Arrays.asList(","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING),","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING),","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING),","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING));","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e AUTHOR_TO_IGNORE_BLAME_COMMIT_LIST_07082021 \u003d Collections.singletonList(","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING)","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" );","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" protected static final String NONEXISTENT_COMMIT_HASH \u003d \"nonExistentCommitHash\";","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" protected static final ZoneId TIME_ZONE_ID \u003d ZoneId.of(\"Asia/Singapore\");","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" protected static final Author MAIN_AUTHOR \u003d new Author(MAIN_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" protected static final Author FAKE_AUTHOR \u003d new Author(FAKE_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" protected static final Author UNCONVENTIONAL_AUTHOR \u003d new Author(UNCONVENTIONAL_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected static final Author WHITESPACE_AUTHOR \u003d new Author(WHITESPACE_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" protected static ThreadLocal\u003cRepoConfiguration\u003e configs \u003d ThreadLocal.withInitial(() -\u003e {","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":" return newRepoConfiguration();","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" } catch (Exception e) {","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" });","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" private static final Supplier\u003cString\u003e EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER \u003d () -\u003e","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" String.valueOf(Thread.currentThread().getId());","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":" private FileInfoExtractor fileInfoExtractor \u003d new FileInfoExtractor();","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" private FileInfoAnalyzer fileInfoAnalyzer \u003d new FileInfoAnalyzer();","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" @BeforeEach","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" public void before() throws Exception {","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" config.setAuthorList(Collections.singletonList(getAlphaAllAliasAuthor()));","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" config.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(false);","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" configs.set(config);","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" @BeforeAll","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":" public static void beforeClass() throws Exception {","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" configs.set(config);","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(config, EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get());","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":" @AfterEach","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" public void after() {","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" GitCheckout.checkout(configs.get().getRepoRoot(), \"master\");","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":" private static RepoConfiguration newRepoConfiguration() throws Exception {","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" return new RepoConfiguration.Builder()","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION))","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .extraOutputFolderName(EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get())","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" .build();","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" * Generates the .git-blame-ignore-revs file containing {@link CommitHash}es","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" * from {@code toIgnore} for the test repo.","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e createTestIgnoreRevsFile(List\u003cCommitHash\u003e toIgnore) {","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" String repoRoot \u003d configs.get().getRepoRoot();","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d toIgnore.stream()","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(repoRoot, commitHash);","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" })","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" String fileLocation \u003d repoRoot + IGNORE_REVS_FILE_NAME;","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(fileLocation, expandedIgnoreCommitList);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" return expandedIgnoreCommitList;","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" public void removeTestIgnoreRevsFile() {","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" String fileLocation \u003d configs.get().getRepoRoot() + IGNORE_REVS_FILE_NAME;","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" new File(fileLocation).delete();","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" * For each line in {@link FileResult}, assert that it is attributed to the expected author provided by","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" * {@code expectedLineAuthors}.","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void assertFileAnalysisCorrectness(FileResult fileResult, List\u003cAuthor\u003e expectedLineAuthors) {","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lines \u003d fileResult.getLines();","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(expectedLineAuthors.size(), lines.size());","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" Iterator\u003cAuthor\u003e lineAuthorsItr \u003d expectedLineAuthors.iterator();","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" Iterator\u003cLineInfo\u003e linesItr \u003d lines.iterator();","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" while (linesItr.hasNext() \u0026\u0026 lineAuthorsItr.hasNext()) {","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(lineAuthorsItr.next(), linesItr.next().getAuthor());","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" public FileResult getFileResult(String relativePath) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d fileInfoExtractor.generateFileInfo(configs.get(), relativePath);","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"-"},"content":" return fileInfoAnalyzer.analyzeTextFile(configs.get(), fileInfo, false, DEFAULT_ORIGINALITY_THRESHOLD);","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" * Returns a {@link Author} that has git id and aliases of all authors in testrepo-Alpha, so that no commits","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" * will be filtered out in the `git log` command.","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected Author getAlphaAllAliasAuthor() {","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" Author author \u003d new Author(MAIN_AUTHOR_NAME);","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(FAKE_AUTHOR_NAME, EUGENE_AUTHOR_NAME, YONG_AUTHOR_NAME));","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" return author;","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":5,"-":206}},{"path":"src/test/java/reposense/util/TestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.URL;","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZoneId;","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.HashSet;","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Set;","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.Author;","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Contains testing related functionalities.","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class TestUtil {","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int[] END_OF_DAY_TIME \u003d {23, 59, 59};","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int[] START_OF_DAY_TIME \u003d {0, 0, 0};","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPARING_FILES \u003d \"Comparing files %s \u0026 %s\\n\";","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_CONTENT_DIFFERENT \u003d \"Content different at line number %d:\\n\"","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" + \"\u003c\u003c %s\\n\"","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" + \"\u003e\u003e %s\\n\";","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINES_LENGTH_DIFFERENT \u003d \"The files\u0027 lines count do not match.\";","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String MOVED_FILE_INDICATION \u003d \"\u003d\u003e \";","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int STAT_FILE_PATH_INDEX \u003d 2;","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same.","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" * else prints out the first line of content difference (if any).","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual) throws Exception {","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" return compareFileContents(expected, actual, 1);","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same.","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" * else prints out maximum {@code maxTraceCounts} lines of content difference (if any).","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual, int maxTraceCounts) throws Exception {","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" int traceCounts \u003d 0;","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":" System.out.println(String.format(MESSAGE_COMPARING_FILES, expected, actual));","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" String[] expectedContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(expected))","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" String[] actualContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(actual))","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c Math.min(expectedContent.length, actualContent.length); i++) {","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (!expectedContent[i].equals(actualContent[i])) {","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" System.out.println(","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" String.format(MESSAGE_LINE_CONTENT_DIFFERENT, i + 1, expectedContent[i], actualContent[i]));","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (++traceCounts \u003e\u003d maxTraceCounts) {","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" break;","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (expectedContent.length !\u003d actualContent.length) {","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.out.println(MESSAGE_LINES_LENGTH_DIFFERENT);","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" } else if (traceCounts \u003e\u003d maxTraceCounts) {","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if {@code expected} directory has all files with same content as {@code actual} directory.","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static boolean compareDirectories(Path expected, Path actual) throws Exception {","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cPath\u003e expectedPaths \u003d Files.walk(expected)","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"-"},"content":" .sorted()","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cPath\u003e actualPaths \u003d Files.walk(actual)","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":" .sorted()","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (expectedPaths.size() !\u003d actualPaths.size()) {","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedPaths.size(); i++) {","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (!(Files.isDirectory(expectedPaths.get(i)) || Files.isDirectory(actualPaths.get(i)))","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 !TestUtil.compareFileContents(expectedPaths.get(i), actualPaths.get(i))) {","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"-"},"content":" return false;","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"-"},"content":" return true;","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Creates and returns a {@link LocalDateTime} object with the specified {@code year}, {@code month}, {@code day}","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"-"},"content":" * and {@code time}.","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static LocalDateTime getDate(int year, int month, int date, int[] time) {","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"-"},"content":" return LocalDateTime.of(year, month, date, time[0], time[1], time[2], 0);","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get since date with time 00:00:00","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}.","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(int year, int month, int date) {","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"-"},"content":" return getDate(year, month, date, START_OF_DAY_TIME);","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get until date with time 23:59:59","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}.","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(int year, int month, int date) {","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"-"},"content":" return getDate(year, month, date, END_OF_DAY_TIME);","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Returns a {@link ZoneId} object for the specified {@code timezone}.","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"-"},"content":" public static ZoneId getZoneId(String timezone) {","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"-"},"content":" return ZoneId.of(timezone);","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedRepoConfig} and {@code actualRepoConfig}.","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check.","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static void compareRepoConfig(RepoConfiguration expectedRepoConfig, RepoConfiguration actualRepoConfig) {","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoConfig, actualRepoConfig);","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedRepoConfig.getAuthorList().size(); i++) {","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"-"},"content":" compareAuthor(expectedRepoConfig.getAuthorList().get(i), actualRepoConfig.getAuthorList().get(i));","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedAuthor} and {@code actualAuthor}, with exception of it\u0027s display name.","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"-"},"content":" * The display name is not compared as it varies with object construction.","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"-"},"content":" * It is a transient value and it is not needed for object matching.","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"-"},"content":" *","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check.","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static void compareAuthor(Author expectedAuthor, Author actualAuthor) {","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getGitId(), actualAuthor.getGitId());","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getIgnoreGlobList(), actualAuthor.getIgnoreGlobList());","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getAuthorAliases(), actualAuthor.getAuthorAliases());","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberCommits} is equal to the expected number of commits captured in","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"-"},"content":" * {@code gitLogResult}.","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static boolean compareNumberExpectedCommitsToGitLogLines(int expectedNumberCommits, String gitLogResult) {","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no commits","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d 0;","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"-"},"content":" // (actualSplitGitLogResilt - 1) as the 1st token is always empty.","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d (gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER).length - 1);","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberFilesChanged} is equal to the actual number of files changed in","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code gitLogResult}.","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"-"},"content":" public static boolean compareNumberFilesChanged(int expectedNumberFilesChanged, String gitLogResult) {","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no files changed","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"-"},"content":" return expectedNumberFilesChanged \u003d\u003d 0;","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"-"},"content":" String[] changesLogged \u003d gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER);","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"-"},"content":" HashSet\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"-"},"content":" // start from index 1 as index 0 is always empty.","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c changesLogged.length; i++) {","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"-"},"content":" filesChanged.addAll(getFilesChangedInCommit(changesLogged[i]));","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"-"},"content":" return filesChanged.size() \u003d\u003d expectedNumberFilesChanged;","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the {@link Set} of files changed in the commit {@code rawCommitInfo}.","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"-"},"content":" private static Set\u003cString\u003e getFilesChangedInCommit(String rawCommitInfo) {","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"-"},"content":" Set\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" String[] commitInfo \u003d StringsUtil.NEWLINE.split(rawCommitInfo.replaceAll(\"\\n+$\", \"\"));","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"-"},"content":" int fileChangedNum \u003d Integer.parseInt(commitInfo[commitInfo.length - 1].trim().split(\" \")[0]);","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int fileNum \u003d 0; fileNum \u003c fileChangedNum; fileNum++) {","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"-"},"content":" filesChanged.add(getFileChanged(commitInfo[commitInfo.length - 2 - fileNum]));","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"-"},"content":" return filesChanged;","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Returns the file changed given a {@code rawFileChangedString}.","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"-"},"content":" private static String getFileChanged(String rawFileChangedString) {","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" String fileChanged \u003d StringsUtil.TAB.split(rawFileChangedString)[STAT_FILE_PATH_INDEX].trim();","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileChanged.contains(MOVED_FILE_INDICATION)) {","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileChanged \u003d fileChanged.substring(fileChanged.indexOf(MOVED_FILE_INDICATION)","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"-"},"content":" + MOVED_FILE_INDICATION.length());","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileChanged;","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns true if the test environment is on Windows OS.","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"-"},"content":" public static boolean isWindows() {","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"-"},"content":" return System.getProperty(\"os.name\").toLowerCase().contains(\"win\");","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"-"},"content":"","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Returns the {@link Path} to a resource given by {@code pathToResource} string, using {@code classForLoading}.","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"-"},"content":" */","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static Path loadResource(Class\u003c?\u003e classForLoading, String pathToResource) {","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"-"},"content":" ClassLoader classLoader \u003d classForLoading.getClassLoader();","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"-"},"content":" URL url \u003d classLoader.getResource(pathToResource);","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"-"},"content":" Path path \u003d null;","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"-"},"content":" try {","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"-"},"content":" path \u003d Paths.get(url.toURI());","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"-"},"content":" System.out.println(\"URL format does not follow required standard\");","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"-"},"content":" return path;","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"-"},"content":" }","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"-"},"content":"}","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":6,"-":234}},{"path":"src/test/resources/BlurbMarkdownParserTest/malformed_delimiter_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--bunchofcharacters that don\u0027t count\u003e","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo - this is not legal and will be captured as part of the text --\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003ebut this is legal and will be ignored","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":7}},{"path":"src/test/resources/BlurbMarkdownParserTest/malformed_url_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"://github/reposense/testrepo-Alp","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Malformed URL Test","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":2}},{"path":"src/test/resources/BlurbMarkdownParserTest/multiline_blurb.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"A","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"long","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"line","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"of","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"description","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"of","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"testrepo","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"Alpha","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":10}},{"path":"src/test/resources/BlurbMarkdownParserTest/multiple_blurbs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Alpha/tree/master","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Alpha","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Beta/tree/master","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Beta","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Gamma/tree/master","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Gamma","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"https://github.com/reposense/testrepo-Sigma/tree/master","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"Master branch of testrepo-Sigma","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!--repo--\u003e","isFullCredit":false}],"authorContributionMap":{"asdfghjkxd":12}}] diff --git a/reposense_reposense_master/commits.json b/reposense_reposense_master/commits.json index 99f1adf..4a9c7fa 100644 --- a/reposense_reposense_master/commits.json +++ b/reposense_reposense_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[{"date":"2024-01-31","commitResults":[{"hash":"19f9e6847b503b0f9028effd37b2cfab87b72af1","isMergeCommit":false,"messageTitle":"[#1980] Standardise Array Style for Frontend Files (#2084)","messageBody":"Array\u003cT\u003e and T[] can be used interchangeably in TypeScript. We can use\r\nthe same style consistently across the codebase to make it easier for\r\ndevelopers to read and understand array types.\r\n\r\nIn Vue, using T[] in defineComponent requires casting in the form of\r\n\"Array as PropType\u003cT[]\u003e\", while Array\u003cT\u003e can be used as is. Therefore,\r\nit would be more consistent to use Array\u003cT\u003e for .vue files.\r\nAdditionally, such a rule can be enforced more easily with eslint.\r\n\r\nLet\u0027s include a rule for eslint to check array usage and change the\r\ncode to follow this rule.","fileTypesAndContributionMap":{"json":{"insertions":20,"deletions":1}}},{"hash":"f5855fa68b3e23a0fed0c2e7cc94cc6401d175e3","isMergeCommit":false,"messageTitle":"[#1224] Update .stylelintrc.json to check for spacing (#2094)","messageBody":"With no current plans to update stylelint to v15 or beyond, we can\r\nstill use the current features to enforce consistent spacing in our\r\nscss files. This will make the coding style more consistent throughout\r\nthe codebase.\r\n\r\nLet\u0027s update the rules in .stylelintrc.json to enforce spacing.","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]},{"date":"2024-02-19","commitResults":[{"hash":"b103e286bca0d52b5b539b3ec4a9012ecef980bd","isMergeCommit":false,"messageTitle":"[#467] Add Title Component (#2102)","messageBody":"Implement Title Component\r\n\r\nWith a new focus on allowing users to use RepoSense as a portfolio\r\ntool, more functionality supporting this focus is needed.\r\n\r\nLet\u0027s allow users to add customizable content in Markdown/HTML format \r\nat the top of the report for a personalized introduction.","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1},"scss":{"insertions":0,"deletions":1},"md":{"insertions":2,"deletions":1},"js":{"insertions":8,"deletions":0},"json":{"insertions":272,"deletions":233}}}]},{"date":"2024-03-19","commitResults":[{"hash":"bb977ea1f049a86c6c1090b5253a7e7e1543a5b6","isMergeCommit":false,"messageTitle":"[#1872] Update Node version to 18 (#2081)","messageBody":"Node.js 16 has reached its end-of-life on 11 September 2023.\r\n\r\nLet us update Node.js to use Node 18 in the GitHub workflows.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1},"yml":{"insertions":3,"deletions":3},"json":{"insertions":4057,"deletions":6609}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f2be8a4765e0ee0e5fa1b336419ff2fc88c73ff3","isMergeCommit":false,"messageTitle":"[#2142] Fix Vulnerabilities (#2143)","messageBody":"Fix vulnerabilities in codebase.\r\n\r\nThere are existing vulnerabilities in the codebase.\r\n\r\nLet\u0027s fix as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":603,"deletions":1163}}}]},{"date":"2024-04-02","commitResults":[{"hash":"c3cd12d91c439a5995ce5eba661ae2cded220721","isMergeCommit":false,"messageTitle":"[#2151] Update LoadingOverlay and Minor Versions of Node Dependencies (#2152)","messageBody":"Update LoadingOverlay and Minor Versions of Node Dependencies\r\n\r\nSome dependencies are not at their latest minor or patch releases.\r\n\r\nLet\u0027s update these dependencies, as well as LoadingOverlay as part of a\r\nbug fix.","fileTypesAndContributionMap":{"json":{"insertions":5526,"deletions":15213}}}]},{"date":"2024-04-18","commitResults":[{"hash":"eb138361cfe928eec29327cf63ac965911a94e29","isMergeCommit":false,"messageTitle":"[#2136] Add Tests for Segment CSS (#2137)","messageBody":"Write Tests for Code Highlighting for Segment\r\n\r\nA regression has occurred during refactoring of the Segment component.\r\nIt would be good to write tests to catch regressions if it happens\r\nagain for this component.\r\n\r\nLet\u0027s write tests to catch further regressions of the same nature.","fileTypesAndContributionMap":{"js":{"insertions":67,"deletions":0}}},{"hash":"0f21c65b04282e21ea600ab7906496b853c1a34a","isMergeCommit":false,"messageTitle":"[#2151] Update Stylelint (#2153)","messageBody":"Update Stylelint\r\n\r\nThe depreciated rules have been moved to a dedicated plugin. We can now\r\nupdate our Stylelint linter to the latest version.\r\n\r\nLet\u0027s do so, as well as update related dependencies.","fileTypesAndContributionMap":{"json":{"insertions":1048,"deletions":948}}},{"hash":"6ffb41c933fcf339f84c56b4b061be780056366f","isMergeCommit":false,"messageTitle":"[#2151] Update CSS-related Major Dependencies (#2154)","messageBody":"Update CSS-related Major Dependencies\r\n\r\nA few CSS-related dependencies have major updates available.\r\n\r\nLet\u0027s update as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":120,"deletions":154}}}]},{"date":"2024-04-19","commitResults":[{"hash":"4cceaeaae77ae19042f9de5f446809d9cd7981c8","isMergeCommit":false,"messageTitle":"[#2158] Add More Documentation for Title Component (#2159)","messageBody":"Add More Documentation for Title Component\r\n\r\nThe documentation for the title component is sparse. Adding more\r\ndetails on how to use it will make it easier for users to add their own\r\ntitles to their reports.\r\n\r\nLet\u0027s update the documentation to include a section for the title\r\ncomponent, and add the title component to the default view.","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"md":{"insertions":27,"deletions":2}}}]},{"date":"2024-04-27","commitResults":[{"hash":"553f3f28e5da2810551f92f25f929cd07dabaf6c","isMergeCommit":false,"messageTitle":"[#2184] Fix Inconsistent Line Number Colours (#2185)","messageBody":"Fix Inconsistent Line Number Colours\r\n\r\nA regression has occurred where the line numbers no longer have a\r\nconsistent grey color.\r\n\r\nLet\u0027s fix the bug and add a test to catch further regressions of the\r\nsame nature.","fileTypesAndContributionMap":{"js":{"insertions":25,"deletions":0}}}]},{"date":"2024-04-28","commitResults":[{"hash":"bf78bf2a11a4ba703403c75f442410ad56ecca98","isMergeCommit":false,"messageTitle":"[#2151] Update Typescript-related Major Dependencies (#2166)","messageBody":"Update Typescript-related Major Dependencies\r\n\r\nMany of our TypeScript-related dependencies are outdated.\r\n\r\nLet\u0027s update them.","fileTypesAndContributionMap":{"scss":{"insertions":1,"deletions":1},"json":{"insertions":617,"deletions":203}}}]},{"date":"2024-05-12","commitResults":[{"hash":"20526f424bbbd705f1abfa5c18db9a2b479e6bd4","isMergeCommit":false,"messageTitle":"[#2176] Move from Vue CLI to Vite (#2178)","messageBody":"Move from Vue CLI to Vite\r\n\r\nVue CLI has been put on maintenance mode and its dependencies have\r\nsecurity issues that have not been fixed for a while. Switching to Vite\r\nalso allows us to introduce Vitest for our unit testing.\r\n\r\nLet\u0027s install Vite and remove Vue CLI.","fileTypesAndContributionMap":{"md":{"insertions":7,"deletions":1},"json":{"insertions":4951,"deletions":12152},"js":{"insertions":1,"deletions":46}}}]}],"mingyuanc":[],"jingting1412":[],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[{"date":"2024-01-31","commitResults":[{"hash":"0f682a0c319cde9aefe268deb97e97816c1b387a","isMergeCommit":false,"messageTitle":"[#2016] Remove hash symbol from URL when decoding hash (#2086)","messageBody":"Fix bug where some params were not retained after refresh\r\n\r\nThe issue pertains to breakdown of file types disappearing after a\r\nrefresh, but it seems to apply to all params that were last in the URL\r\ndue to symbols not being filtered out correctly.\r\n\r\nLet\u0027s fix this issue to make sure the state of the report stays the\r\nsame when refreshing.","fileTypesAndContributionMap":{"js":{"insertions":156,"deletions":0}}}]},{"date":"2024-02-17","commitResults":[{"hash":"9ff7a96c6afd5b8837da8ee1ba44b263670ae391","isMergeCommit":false,"messageTitle":"[#2111] Fix failing zoomFeature cypress test (#2114)","messageBody":"Fix nondeterministically failing zoomFeature cypress test\r\n\r\nThe \"range changes in chartview should reflect in zoom\" test in\r\nchartView_zoomFeature.cy.js fails because as time passes, the\r\ncoordinates in the ramp that correspond to the desired zoom area\r\nchange.\r\n\r\nLet\u0027s add an \"until\" filter to the relevant cypress tests to stop this\r\nfrom happening","fileTypesAndContributionMap":{"js":{"insertions":11,"deletions":0}}}]},{"date":"2024-03-14","commitResults":[{"hash":"0b096478680447f72e439de78969c09cc8259623","isMergeCommit":false,"messageTitle":"[#2098] Add show more button for error messages (#2105)","messageBody":"Add show more button for error messages\r\n\r\nCurrently, if there are a lot of error messages, it can block the rest\r\nof the page to the point where users may think the report failed to\r\ngenerate at all.\r\n\r\nLet\u0027s hide extra messages automatically and add a show more button if \r\nthere are more to display the messages in full.","fileTypesAndContributionMap":{"js":{"insertions":92,"deletions":72}}}]},{"date":"2024-03-19","commitResults":[{"hash":"147f473e7e0f55c89f86aeb973006a876879d5bb","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2116)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-02","commitResults":[{"hash":"b139a954a4367c6951f7924d85f57438b56f0298","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2167)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags. This\r\ncommit also fixes a bug that existed in a previous version of the\r\nfeature which resulted in all users being shown to belong to same group.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-18","commitResults":[{"hash":"f07af5a45d883cb629d4d0ef7e953cf8444619d3","isMergeCommit":false,"messageTitle":"[#2130] Add highlight and scroll to group (#2131)","messageBody":"Add highlight and scroll to group\r\n\r\nIt can be useful to have a way to send a RepoSense link that\r\nautomatically scrolls to and highlights the group that the sender\r\nthinks the recipient should pay attention to, saving them time to find\r\nthe repo in question.\r\n\r\nLet\u0027s add this functionality to add convenience when sending around\r\nRepoSense reports.","fileTypesAndContributionMap":{"js":{"insertions":62,"deletions":0}}}]},{"date":"2024-04-19","commitResults":[{"hash":"1e76355901cd5fca71a2999e2c8cdf68bdd0988c","isMergeCommit":false,"messageTitle":"Fix lint warnings (#2182)","messageBody":"Fix lint warnings\r\n\r\nCurrently, there are various lint warnings that appear when building.\r\n\r\nThis can cause confusion on what lint problem exactly is causing a\r\nbuild to fail. Let\u0027s fix them.","fileTypesAndContributionMap":{"md":{"insertions":4,"deletions":4}}},{"hash":"3c53d58c0458a42c58ce84231ea61f8f1cac6930","isMergeCommit":false,"messageTitle":"Add more repos to cypress tests (#2188)","messageBody":"Add more repos to Cypress tests\r\n\r\nCurrently, our Cypress config only tests with a single repo. This can\r\ncause our testing to be limited and cause certain bugs to go\r\nunnoticed.\r\n\r\nLet\u0027s add more repos so that our testing can be more extensive.","fileTypesAndContributionMap":{"js":{"insertions":20,"deletions":24}}}]},{"date":"2024-04-27","commitResults":[{"hash":"02c7198db1d90bba3eb1d071dd4f21bda64ae27d","isMergeCommit":false,"messageTitle":"[#2148] Show tags on the ramp chart (#2163)","messageBody":"It can be useful to view all the tags of each repo that appears on the\r\nramp chart. Though this information is visible if the repo is merged\r\nand the user click to see the breakdown of each commit, it can still be\r\nuseful to see this information upfront (for searching Ctrl+F perhaps).\r\nThis feature would be toggleable with a checkbox to reduce clutter.\r\n\r\nLet\u0027s add this functionality to add convenience when searching through\r\nRepoSense reports with tags.","fileTypesAndContributionMap":{"scss":{"insertions":21,"deletions":0},"md":{"insertions":1,"deletions":0},"js":{"insertions":94,"deletions":13}}}]},{"date":"2024-05-07","commitResults":[{"hash":"2457ebbeaa69befc824fa609a4e12f4c55bb4c88","isMergeCommit":false,"messageTitle":"Add optimise timeline feature (#2180)","messageBody":"Add optimise timeline feature\r\n\r\nCurrently, the ramps have a lot of empty space if the since and until\r\ndates are specified far apart. \r\n\r\nLet\u0027s add a checkbox that can eliminate this empty space for each ramp.\r\nThis is especially useful if RepoSense is to be used to set up a report\r\nof an individual\u0027s past OSS contributions.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":165,"deletions":0}}}]},{"date":"2024-05-12","commitResults":[{"hash":"4735dcf2a96b11fcd02023a12873f64657d2ca6e","isMergeCommit":false,"messageTitle":"[#2195] Add cypress tests for show tag when grouping by author and by none (#2197)","messageBody":"Add cypress tests for show tag when grouping by author and by none\r\n\r\nThere are no Cypress tests to test the behaviour of the show tag\r\nfeature when the report is grouped by author or grouped by none.\r\n\r\nLet\u0027s add a test for this to ensure the feature is working properly.","fileTypesAndContributionMap":{"js":{"insertions":96,"deletions":9}}}]}],"domoberzin":[],"asdfghjkxd":[{"date":"2024-01-18","commitResults":[{"hash":"4ef7210a06fbd6b979a648f8bdce967717a6512c","isMergeCommit":false,"messageTitle":"[#2073] Refactor `RepoConfigCsvParser::processLine` method to avoid arrowhead style code (#2080)","messageBody":"The current implementation of `RepoConfigCsvParser::processLine`\r\ncontains code that has 3 levels of indentation, making it \r\ndifficult to read and maintain.\r\n\r\nWith the proposed changes, the level of deep nesting has \r\nbeen reduced to 2 levels, making the code more \r\nreadable and maintainable.\r\n\r\nLet\u0027s move to refactor and clean up the code to avoid \r\narrowhead-style codes for better readability and \r\nmaintainability.","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}}]},{"date":"2024-01-26","commitResults":[{"hash":"54ba5ecc417097134c83e7d9dc80b925598cb9ef","isMergeCommit":false,"messageTitle":"[#2091] Improve memory usage by refactoring Regex compilation (#2092)","messageBody":"Improve memory usage by refactoring Regex compilation\r\n\r\nCurrently, Regex checking is used in conjunction with iteration. This\r\npattern of coding is frowned upon due to the excessive Regex pattern\r\ncompilation, causing the program to run slower and consume more\r\nmemory.\r\n\r\nBy moving the Regex pattern compilation outside of the iteration, and\r\nby using `Matcher` objects to check if the strings match the Regex\r\nperformance, we can potentially remove this performance bottleneck.\r\n\r\nLet\u0027s move to refactor the code and remove such instances of Regex use\r\nin iterative loops.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-01-31","commitResults":[{"hash":"7977382dfeb3f8559ebb85028a510c8bbc23b58e","isMergeCommit":false,"messageTitle":"[#1958] Use syntax coloring for code blocks in docs (#2099)","messageBody":"Current code blocks do not use the built-in syntax highlighting\r\nfeature offered by Markbind/Markdown.\r\n\r\nThis impedes the readability of the code within the code blocks.\r\n\r\nLet\u0027s update the code blocks in the documentation to enable\r\nsyntax highlighting to further enhance readability of the documentation\r\nand the code.","fileTypesAndContributionMap":{"md":{"insertions":26,"deletions":26}}}]},{"date":"2024-02-06","commitResults":[{"hash":"30ef45089c9d959c3d667519f56197b01690d38b","isMergeCommit":false,"messageTitle":"[#1878] Update `SystemTestUtil::assertJson` to compare Json objects instead of line-by-line analysis (#2087)","messageBody":"`SystemTestUtil::assertJson` currently checks if two JSON files are\r\nequal by comparing the file contents line by line rather than by\r\nconverting the files directly into JSON objects, which can then be\r\ndirectly compared using the built-in `equals` methods for\r\n`JsonElement`.\r\n\r\nThis process also does not automatically check if the file is indeed a\r\nJSON file, and implicitly assumes that the input paths are paths to\r\nJSON files. This may cause expected behaviours if a user accidentally\r\nor intentionally includes a path to a non-JSON file within the method\r\ncalls.\r\n\r\nLet\u0027s move to refactor the code, and utilise the built-in methods for\r\n`JsonElement` objects to check for the equality of JSON objects.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-02-07","commitResults":[{"hash":"29903e31243225f4f4c3c4ad523f2298d2b8e70d","isMergeCommit":false,"messageTitle":"[#2103] Refactor `parser` package for greater organisation of classes (#2104)","messageBody":"Classes in the `parser` package as of now are not properly organised,\r\nwith exceptions, types and parser classes being found in the same\r\ndirectory level.\r\n\r\nThis does not follow the convention established by other packages,\r\nwhereby logically similar classes are further grouped into\r\nsub-packages.\r\n\r\nLet\u0027s move to refactor the `parser` package to ensure that it follows\r\nthe overall structure of the other packages and to increase the level\r\nof organisation within the `parser` package.","fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":32}}}]},{"date":"2024-02-17","commitResults":[{"hash":"d2018d246e74fa04ae70d2f1f0f16c9e8e29e187","isMergeCommit":false,"messageTitle":"[#2076] Refactor RepoConfiguration to simplify constructor complexity (#2078)","messageBody":"Refactor RepoConfiguration to simplify constructor complexity.\r\n\r\nCurrently, the constructors for the `RepoConfiguration` class is \r\nvery complex, involving up to 18 parameters at once, and is \r\nnot easily extensible.\r\n\r\nWith the proposed changes, the constructor now follows the \r\nBuilder pattern, by using a nested class `Builder` that \r\nhelps to compose config parameters in a way that is much more \r\nmodular and comprehensible, enhancing code quality and \r\nreducing confusion among developers.\r\n\r\nHowever, it must be noted that `Builder` objects are not reusable as of\r\nnow, and that more combinations of arguments are permitted due to the\r\nremoval of constructors for `RepoBuilder`, which previously helped to\r\nensure the correctness of parameter combinations.\r\n\r\nLet\u0027s refactor `RepoConfiguration` to simplify the \r\ncomplexity of the constructor and increase modularity \r\nof the code.","fileTypesAndContributionMap":{"java":{"insertions":734,"deletions":158}}}]},{"date":"2024-03-02","commitResults":[{"hash":"bbb2f694a74d0dc1dea9084ad47b25bcd0bb42cb","isMergeCommit":false,"messageTitle":"[#2117] Refactor `CliArguments` to conform to `RepoConfiguration`\u0027s Builder Pattern (#2118)","messageBody":"Current implementation of the Builder pattern within `CliArguments`\r\ndoes not conform that in `RepoConfiguration`.\r\n\r\nLet\u0027s move to refactor `CliArguments` to reduce class attribute\r\nduplication across `CliArguments` and `CliArguments::Builder` and to\r\nenhance overall code quality.","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":101}}}]},{"date":"2024-03-26","commitResults":[{"hash":"3140c31c8d132aada99d917b789665cc3328cf0d","isMergeCommit":false,"messageTitle":"[#2091] Minor Enhancements to Existing Regex Code (#2115)","messageBody":"* Enhance existing Regex code\r\n\r\n* Consolidate typical Regex patterns\r\n\r\n---------\r\n\r\nCo-authored-by: Charisma Kausar \u003c68203159+ckcherry23@users.noreply.github.com\u003e\r\nCo-authored-by: Gokul Rajiv \u003c34594184+gok99@users.noreply.github.com\u003e\r\nCo-authored-by: Marcus Tang \u003c50147457+MarcusTXK@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":28}}}]},{"date":"2024-03-28","commitResults":[{"hash":"a733531b0bc7ecc0bb40f40b0f4de7db503e9057","isMergeCommit":false,"messageTitle":"[#2120] Update RepoSense contributors in documentation (#2138)","messageBody":"The current About page on the RepoSense docs does not reflect the\r\nupdated list of developers working on RepoSense.\r\n\r\nLet\u0027s move to update the list to more accurately reference the current\r\ndevelopers of RepoSense.","fileTypesAndContributionMap":{"md":{"insertions":69,"deletions":19}}}]},{"date":"2024-04-15","commitResults":[{"hash":"54d002806b9a2c564ebfaf49fab09f762d0d8aab","isMergeCommit":false,"messageTitle":"Allow CI to pass if Codecov fails (#2189)","messageBody":"CI is failing when Codecov is failing.\r\n\r\nThis is a temporary workaround for CI until issues with Codecov are\r\nfixed.","fileTypesAndContributionMap":{"yml":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-27","commitResults":[{"hash":"a25630e5fd55fe585b69368f647bd04e3f49f981","isMergeCommit":false,"messageTitle":"[#2177] Migrate to Java 11 Syntax and Features (#2183)","messageBody":"* Migrate CI/CD to Java 11\r\n\r\n* Update Docs to reflect Java 11\r\n\r\n* Update CI JDK version\r\n\r\n* Update checkstyle tool\r\n\r\n* Revert \"Update CI JDK version\"\r\n\r\nThe updating of the Checkstyle tool will be deferred\r\nto another PR to avoid causing dependency issues\r\narising from backwards compatibility.\r\n\r\n* Reapply \"Update CI JDK version\"\r\n\r\nReapplying revert action as it was reverted on\r\nthe wrong commit.\r\n\r\n* Revert \"Update checkstyle tool\"\r\n\r\nThe updating of the Checkstyle tool will be deferred\r\nto another PR to avoid causing dependency issues\r\narising from backwards compatibility.\r\n\r\n* Remove deprecated flags\r\n\r\n---------\r\n\r\nCo-authored-by: Ryan Poon \u003c96387349+sopa301@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":4},"md":{"insertions":8,"deletions":8},"yml":{"insertions":4,"deletions":4}}}]},{"date":"2024-05-12","commitResults":[{"hash":"f4cad78c41007171b1f1a9f4e61baa8cfe71c372","isMergeCommit":false,"messageTitle":"[#2170] Add Blurbs for Repos (#2191)","messageBody":"Currently, there are no ways for student developers to append messages\r\nfor each of the repositories they would like to showcase using\r\nRepoSense.\r\n\r\nLet\u0027s move to implement a blurbs feature to allow individual student\r\ndevelopers to showcase their contributions to their project.","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":441,"deletions":6},"md":{"insertions":73,"deletions":2},"js":{"insertions":34,"deletions":0}}}]}],"yuanxi1":[],"supermii2":[{"date":"2024-01-26","commitResults":[{"hash":"3cd680c3ddfa5a96f9168d3ab411d0cccfc3c52f","isMergeCommit":false,"messageTitle":"[#2082] Fix typo in command in Setting Up page (#2083)","messageBody":"Fix typo in Setting Up page\r\n\r\nThe command given in the developer guide for checking the local Node.js\r\nversion is `npm -v`, which displays the version of npm instead.\r\n\r\nLet\u0027s replace the command with `node -v`, which correctly displays the\r\nNode.js version.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-02-11","commitResults":[{"hash":"945405a6c5786c72e11b23da7c452bb9568b03b6","isMergeCommit":false,"messageTitle":"[#1933] Fix broken DevOps Guide link in Learning Basics (#2107)","messageBody":"Fix broken link to DevOps Guide in Learning Basics page.\r\n\r\nUnder the DevOps section in the developer guide,\r\nthe link to DevOps guide leads a Wiki link instead of redirecting to\r\nthe DevOps guide on the actual Reposense website.\r\n\r\nLet\u0027s fix the broken link by changing the address to the correct page.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"2692f0fef8b3d60579e0504d713d7505ff0f821c","isMergeCommit":false,"messageTitle":"[#2002] Add explicit return type annotations to TypeScript functions in *.vue files (#2125)","messageBody":"Many frontend functions lack return types after migration to\r\nTypeScript, which can cause errors due to TypeScript\u0027s attempted type\r\ninference being incorrect. Specifying return type explicitly can allow\r\nTypeScript to catch errors before the code is run.\r\n\r\nLet us add return type annotations to TypeScript functions within Vue\r\nfiles.\r\n\r\n---------\r\n\r\nCo-authored-by: David \u003cdavids89034@gmail.com\u003e","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]}],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"sopa301":{"java":1,"js":97,"scss":1,"json":7030,"md":34,"py":0,"pug":0,"gradle":1,"sh":0,"yml":3},"mingyuanc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jingting1412":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"yiwen101":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jonasongg":{"java":0,"js":797,"scss":21,"json":0,"md":3,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"domoberzin":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"asdfghjkxd":{"java":1359,"js":34,"scss":0,"json":0,"md":176,"py":0,"pug":0,"gradle":3,"sh":0,"yml":5},"yuanxi1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"supermii2":{"java":0,"js":0,"scss":0,"json":2,"md":2,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"marquestye":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"NereusWB922":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"dishenggg":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"MadLamprey":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":5061718.0,"mingyuanc":0.0,"jingting1412":0.0,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":821.61383,"domoberzin":0.0,"asdfghjkxd":6908.6455,"yuanxi1":0.0,"supermii2":0.14396203,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":0.0},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} +{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[{"date":"2024-01-31","commitResults":[{"hash":"19f9e6847b503b0f9028effd37b2cfab87b72af1","isMergeCommit":false,"messageTitle":"[#1980] Standardise Array Style for Frontend Files (#2084)","messageBody":"Array\u003cT\u003e and T[] can be used interchangeably in TypeScript. We can use\r\nthe same style consistently across the codebase to make it easier for\r\ndevelopers to read and understand array types.\r\n\r\nIn Vue, using T[] in defineComponent requires casting in the form of\r\n\"Array as PropType\u003cT[]\u003e\", while Array\u003cT\u003e can be used as is. Therefore,\r\nit would be more consistent to use Array\u003cT\u003e for .vue files.\r\nAdditionally, such a rule can be enforced more easily with eslint.\r\n\r\nLet\u0027s include a rule for eslint to check array usage and change the\r\ncode to follow this rule.","fileTypesAndContributionMap":{"json":{"insertions":20,"deletions":1}}},{"hash":"f5855fa68b3e23a0fed0c2e7cc94cc6401d175e3","isMergeCommit":false,"messageTitle":"[#1224] Update .stylelintrc.json to check for spacing (#2094)","messageBody":"With no current plans to update stylelint to v15 or beyond, we can\r\nstill use the current features to enforce consistent spacing in our\r\nscss files. This will make the coding style more consistent throughout\r\nthe codebase.\r\n\r\nLet\u0027s update the rules in .stylelintrc.json to enforce spacing.","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]},{"date":"2024-02-19","commitResults":[{"hash":"b103e286bca0d52b5b539b3ec4a9012ecef980bd","isMergeCommit":false,"messageTitle":"[#467] Add Title Component (#2102)","messageBody":"Implement Title Component\r\n\r\nWith a new focus on allowing users to use RepoSense as a portfolio\r\ntool, more functionality supporting this focus is needed.\r\n\r\nLet\u0027s allow users to add customizable content in Markdown/HTML format \r\nat the top of the report for a personalized introduction.","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1},"scss":{"insertions":0,"deletions":1},"md":{"insertions":2,"deletions":1},"js":{"insertions":8,"deletions":0},"json":{"insertions":272,"deletions":233}}}]},{"date":"2024-03-19","commitResults":[{"hash":"bb977ea1f049a86c6c1090b5253a7e7e1543a5b6","isMergeCommit":false,"messageTitle":"[#1872] Update Node version to 18 (#2081)","messageBody":"Node.js 16 has reached its end-of-life on 11 September 2023.\r\n\r\nLet us update Node.js to use Node 18 in the GitHub workflows.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1},"yml":{"insertions":3,"deletions":3},"json":{"insertions":4057,"deletions":6609}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f2be8a4765e0ee0e5fa1b336419ff2fc88c73ff3","isMergeCommit":false,"messageTitle":"[#2142] Fix Vulnerabilities (#2143)","messageBody":"Fix vulnerabilities in codebase.\r\n\r\nThere are existing vulnerabilities in the codebase.\r\n\r\nLet\u0027s fix as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":603,"deletions":1163}}}]},{"date":"2024-04-02","commitResults":[{"hash":"c3cd12d91c439a5995ce5eba661ae2cded220721","isMergeCommit":false,"messageTitle":"[#2151] Update LoadingOverlay and Minor Versions of Node Dependencies (#2152)","messageBody":"Update LoadingOverlay and Minor Versions of Node Dependencies\r\n\r\nSome dependencies are not at their latest minor or patch releases.\r\n\r\nLet\u0027s update these dependencies, as well as LoadingOverlay as part of a\r\nbug fix.","fileTypesAndContributionMap":{"json":{"insertions":5526,"deletions":15213}}}]},{"date":"2024-04-18","commitResults":[{"hash":"eb138361cfe928eec29327cf63ac965911a94e29","isMergeCommit":false,"messageTitle":"[#2136] Add Tests for Segment CSS (#2137)","messageBody":"Write Tests for Code Highlighting for Segment\r\n\r\nA regression has occurred during refactoring of the Segment component.\r\nIt would be good to write tests to catch regressions if it happens\r\nagain for this component.\r\n\r\nLet\u0027s write tests to catch further regressions of the same nature.","fileTypesAndContributionMap":{"js":{"insertions":67,"deletions":0}}},{"hash":"0f21c65b04282e21ea600ab7906496b853c1a34a","isMergeCommit":false,"messageTitle":"[#2151] Update Stylelint (#2153)","messageBody":"Update Stylelint\r\n\r\nThe depreciated rules have been moved to a dedicated plugin. We can now\r\nupdate our Stylelint linter to the latest version.\r\n\r\nLet\u0027s do so, as well as update related dependencies.","fileTypesAndContributionMap":{"json":{"insertions":1048,"deletions":948}}},{"hash":"6ffb41c933fcf339f84c56b4b061be780056366f","isMergeCommit":false,"messageTitle":"[#2151] Update CSS-related Major Dependencies (#2154)","messageBody":"Update CSS-related Major Dependencies\r\n\r\nA few CSS-related dependencies have major updates available.\r\n\r\nLet\u0027s update as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":120,"deletions":154}}}]},{"date":"2024-04-19","commitResults":[{"hash":"4cceaeaae77ae19042f9de5f446809d9cd7981c8","isMergeCommit":false,"messageTitle":"[#2158] Add More Documentation for Title Component (#2159)","messageBody":"Add More Documentation for Title Component\r\n\r\nThe documentation for the title component is sparse. Adding more\r\ndetails on how to use it will make it easier for users to add their own\r\ntitles to their reports.\r\n\r\nLet\u0027s update the documentation to include a section for the title\r\ncomponent, and add the title component to the default view.","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"md":{"insertions":27,"deletions":2}}}]},{"date":"2024-04-27","commitResults":[{"hash":"553f3f28e5da2810551f92f25f929cd07dabaf6c","isMergeCommit":false,"messageTitle":"[#2184] Fix Inconsistent Line Number Colours (#2185)","messageBody":"Fix Inconsistent Line Number Colours\r\n\r\nA regression has occurred where the line numbers no longer have a\r\nconsistent grey color.\r\n\r\nLet\u0027s fix the bug and add a test to catch further regressions of the\r\nsame nature.","fileTypesAndContributionMap":{"js":{"insertions":25,"deletions":0}}}]},{"date":"2024-04-28","commitResults":[{"hash":"bf78bf2a11a4ba703403c75f442410ad56ecca98","isMergeCommit":false,"messageTitle":"[#2151] Update Typescript-related Major Dependencies (#2166)","messageBody":"Update Typescript-related Major Dependencies\r\n\r\nMany of our TypeScript-related dependencies are outdated.\r\n\r\nLet\u0027s update them.","fileTypesAndContributionMap":{"scss":{"insertions":1,"deletions":1},"json":{"insertions":617,"deletions":203}}}]},{"date":"2024-05-12","commitResults":[{"hash":"20526f424bbbd705f1abfa5c18db9a2b479e6bd4","isMergeCommit":false,"messageTitle":"[#2176] Move from Vue CLI to Vite (#2178)","messageBody":"Move from Vue CLI to Vite\r\n\r\nVue CLI has been put on maintenance mode and its dependencies have\r\nsecurity issues that have not been fixed for a while. Switching to Vite\r\nalso allows us to introduce Vitest for our unit testing.\r\n\r\nLet\u0027s install Vite and remove Vue CLI.","fileTypesAndContributionMap":{"md":{"insertions":7,"deletions":1},"json":{"insertions":4951,"deletions":12152},"js":{"insertions":1,"deletions":46}}}]},{"date":"2024-05-14","commitResults":[{"hash":"62f3d5420105afaae643e6e9a954d8d2c50444bc","isMergeCommit":false,"messageTitle":"[#2204] Remove unexpected title (#2206)","messageBody":"Remove unexpected title\r\n\r\nAdding a title.md to the public folder has caused the title feature to\r\nbecome opt-out instead of opt-in. This is not the intended way for the\r\ntitle feature to be used.\r\n\r\nLet\u0027s remove the title.md file.","fileTypesAndContributionMap":{"md":{"insertions":0,"deletions":3}}}]}],"mingyuanc":[],"jingting1412":[],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[{"date":"2024-01-31","commitResults":[{"hash":"0f682a0c319cde9aefe268deb97e97816c1b387a","isMergeCommit":false,"messageTitle":"[#2016] Remove hash symbol from URL when decoding hash (#2086)","messageBody":"Fix bug where some params were not retained after refresh\r\n\r\nThe issue pertains to breakdown of file types disappearing after a\r\nrefresh, but it seems to apply to all params that were last in the URL\r\ndue to symbols not being filtered out correctly.\r\n\r\nLet\u0027s fix this issue to make sure the state of the report stays the\r\nsame when refreshing.","fileTypesAndContributionMap":{"js":{"insertions":156,"deletions":0}}}]},{"date":"2024-02-17","commitResults":[{"hash":"9ff7a96c6afd5b8837da8ee1ba44b263670ae391","isMergeCommit":false,"messageTitle":"[#2111] Fix failing zoomFeature cypress test (#2114)","messageBody":"Fix nondeterministically failing zoomFeature cypress test\r\n\r\nThe \"range changes in chartview should reflect in zoom\" test in\r\nchartView_zoomFeature.cy.js fails because as time passes, the\r\ncoordinates in the ramp that correspond to the desired zoom area\r\nchange.\r\n\r\nLet\u0027s add an \"until\" filter to the relevant cypress tests to stop this\r\nfrom happening","fileTypesAndContributionMap":{"js":{"insertions":11,"deletions":0}}}]},{"date":"2024-03-14","commitResults":[{"hash":"0b096478680447f72e439de78969c09cc8259623","isMergeCommit":false,"messageTitle":"[#2098] Add show more button for error messages (#2105)","messageBody":"Add show more button for error messages\r\n\r\nCurrently, if there are a lot of error messages, it can block the rest\r\nof the page to the point where users may think the report failed to\r\ngenerate at all.\r\n\r\nLet\u0027s hide extra messages automatically and add a show more button if \r\nthere are more to display the messages in full.","fileTypesAndContributionMap":{"js":{"insertions":92,"deletions":72}}}]},{"date":"2024-03-19","commitResults":[{"hash":"147f473e7e0f55c89f86aeb973006a876879d5bb","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2116)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-02","commitResults":[{"hash":"b139a954a4367c6951f7924d85f57438b56f0298","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2167)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags. This\r\ncommit also fixes a bug that existed in a previous version of the\r\nfeature which resulted in all users being shown to belong to same group.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-18","commitResults":[{"hash":"f07af5a45d883cb629d4d0ef7e953cf8444619d3","isMergeCommit":false,"messageTitle":"[#2130] Add highlight and scroll to group (#2131)","messageBody":"Add highlight and scroll to group\r\n\r\nIt can be useful to have a way to send a RepoSense link that\r\nautomatically scrolls to and highlights the group that the sender\r\nthinks the recipient should pay attention to, saving them time to find\r\nthe repo in question.\r\n\r\nLet\u0027s add this functionality to add convenience when sending around\r\nRepoSense reports.","fileTypesAndContributionMap":{"js":{"insertions":62,"deletions":0}}}]},{"date":"2024-04-19","commitResults":[{"hash":"1e76355901cd5fca71a2999e2c8cdf68bdd0988c","isMergeCommit":false,"messageTitle":"Fix lint warnings (#2182)","messageBody":"Fix lint warnings\r\n\r\nCurrently, there are various lint warnings that appear when building.\r\n\r\nThis can cause confusion on what lint problem exactly is causing a\r\nbuild to fail. Let\u0027s fix them.","fileTypesAndContributionMap":{"md":{"insertions":4,"deletions":4}}},{"hash":"3c53d58c0458a42c58ce84231ea61f8f1cac6930","isMergeCommit":false,"messageTitle":"Add more repos to cypress tests (#2188)","messageBody":"Add more repos to Cypress tests\r\n\r\nCurrently, our Cypress config only tests with a single repo. This can\r\ncause our testing to be limited and cause certain bugs to go\r\nunnoticed.\r\n\r\nLet\u0027s add more repos so that our testing can be more extensive.","fileTypesAndContributionMap":{"js":{"insertions":20,"deletions":24}}}]},{"date":"2024-04-27","commitResults":[{"hash":"02c7198db1d90bba3eb1d071dd4f21bda64ae27d","isMergeCommit":false,"messageTitle":"[#2148] Show tags on the ramp chart (#2163)","messageBody":"It can be useful to view all the tags of each repo that appears on the\r\nramp chart. Though this information is visible if the repo is merged\r\nand the user click to see the breakdown of each commit, it can still be\r\nuseful to see this information upfront (for searching Ctrl+F perhaps).\r\nThis feature would be toggleable with a checkbox to reduce clutter.\r\n\r\nLet\u0027s add this functionality to add convenience when searching through\r\nRepoSense reports with tags.","fileTypesAndContributionMap":{"scss":{"insertions":21,"deletions":0},"md":{"insertions":1,"deletions":0},"js":{"insertions":94,"deletions":13}}}]},{"date":"2024-05-07","commitResults":[{"hash":"2457ebbeaa69befc824fa609a4e12f4c55bb4c88","isMergeCommit":false,"messageTitle":"Add optimise timeline feature (#2180)","messageBody":"Add optimise timeline feature\r\n\r\nCurrently, the ramps have a lot of empty space if the since and until\r\ndates are specified far apart. \r\n\r\nLet\u0027s add a checkbox that can eliminate this empty space for each ramp.\r\nThis is especially useful if RepoSense is to be used to set up a report\r\nof an individual\u0027s past OSS contributions.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":165,"deletions":0}}}]},{"date":"2024-05-12","commitResults":[{"hash":"4735dcf2a96b11fcd02023a12873f64657d2ca6e","isMergeCommit":false,"messageTitle":"[#2195] Add cypress tests for show tag when grouping by author and by none (#2197)","messageBody":"Add cypress tests for show tag when grouping by author and by none\r\n\r\nThere are no Cypress tests to test the behaviour of the show tag\r\nfeature when the report is grouped by author or grouped by none.\r\n\r\nLet\u0027s add a test for this to ensure the feature is working properly.","fileTypesAndContributionMap":{"js":{"insertions":96,"deletions":9}}}]}],"domoberzin":[],"asdfghjkxd":[{"date":"2024-01-18","commitResults":[{"hash":"4ef7210a06fbd6b979a648f8bdce967717a6512c","isMergeCommit":false,"messageTitle":"[#2073] Refactor `RepoConfigCsvParser::processLine` method to avoid arrowhead style code (#2080)","messageBody":"The current implementation of `RepoConfigCsvParser::processLine`\r\ncontains code that has 3 levels of indentation, making it \r\ndifficult to read and maintain.\r\n\r\nWith the proposed changes, the level of deep nesting has \r\nbeen reduced to 2 levels, making the code more \r\nreadable and maintainable.\r\n\r\nLet\u0027s move to refactor and clean up the code to avoid \r\narrowhead-style codes for better readability and \r\nmaintainability.","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}}]},{"date":"2024-01-26","commitResults":[{"hash":"54ba5ecc417097134c83e7d9dc80b925598cb9ef","isMergeCommit":false,"messageTitle":"[#2091] Improve memory usage by refactoring Regex compilation (#2092)","messageBody":"Improve memory usage by refactoring Regex compilation\r\n\r\nCurrently, Regex checking is used in conjunction with iteration. This\r\npattern of coding is frowned upon due to the excessive Regex pattern\r\ncompilation, causing the program to run slower and consume more\r\nmemory.\r\n\r\nBy moving the Regex pattern compilation outside of the iteration, and\r\nby using `Matcher` objects to check if the strings match the Regex\r\nperformance, we can potentially remove this performance bottleneck.\r\n\r\nLet\u0027s move to refactor the code and remove such instances of Regex use\r\nin iterative loops.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-01-31","commitResults":[{"hash":"7977382dfeb3f8559ebb85028a510c8bbc23b58e","isMergeCommit":false,"messageTitle":"[#1958] Use syntax coloring for code blocks in docs (#2099)","messageBody":"Current code blocks do not use the built-in syntax highlighting\r\nfeature offered by Markbind/Markdown.\r\n\r\nThis impedes the readability of the code within the code blocks.\r\n\r\nLet\u0027s update the code blocks in the documentation to enable\r\nsyntax highlighting to further enhance readability of the documentation\r\nand the code.","fileTypesAndContributionMap":{"md":{"insertions":26,"deletions":26}}}]},{"date":"2024-02-06","commitResults":[{"hash":"30ef45089c9d959c3d667519f56197b01690d38b","isMergeCommit":false,"messageTitle":"[#1878] Update `SystemTestUtil::assertJson` to compare Json objects instead of line-by-line analysis (#2087)","messageBody":"`SystemTestUtil::assertJson` currently checks if two JSON files are\r\nequal by comparing the file contents line by line rather than by\r\nconverting the files directly into JSON objects, which can then be\r\ndirectly compared using the built-in `equals` methods for\r\n`JsonElement`.\r\n\r\nThis process also does not automatically check if the file is indeed a\r\nJSON file, and implicitly assumes that the input paths are paths to\r\nJSON files. This may cause expected behaviours if a user accidentally\r\nor intentionally includes a path to a non-JSON file within the method\r\ncalls.\r\n\r\nLet\u0027s move to refactor the code, and utilise the built-in methods for\r\n`JsonElement` objects to check for the equality of JSON objects.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-02-07","commitResults":[{"hash":"29903e31243225f4f4c3c4ad523f2298d2b8e70d","isMergeCommit":false,"messageTitle":"[#2103] Refactor `parser` package for greater organisation of classes (#2104)","messageBody":"Classes in the `parser` package as of now are not properly organised,\r\nwith exceptions, types and parser classes being found in the same\r\ndirectory level.\r\n\r\nThis does not follow the convention established by other packages,\r\nwhereby logically similar classes are further grouped into\r\nsub-packages.\r\n\r\nLet\u0027s move to refactor the `parser` package to ensure that it follows\r\nthe overall structure of the other packages and to increase the level\r\nof organisation within the `parser` package.","fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":32}}}]},{"date":"2024-02-17","commitResults":[{"hash":"d2018d246e74fa04ae70d2f1f0f16c9e8e29e187","isMergeCommit":false,"messageTitle":"[#2076] Refactor RepoConfiguration to simplify constructor complexity (#2078)","messageBody":"Refactor RepoConfiguration to simplify constructor complexity.\r\n\r\nCurrently, the constructors for the `RepoConfiguration` class is \r\nvery complex, involving up to 18 parameters at once, and is \r\nnot easily extensible.\r\n\r\nWith the proposed changes, the constructor now follows the \r\nBuilder pattern, by using a nested class `Builder` that \r\nhelps to compose config parameters in a way that is much more \r\nmodular and comprehensible, enhancing code quality and \r\nreducing confusion among developers.\r\n\r\nHowever, it must be noted that `Builder` objects are not reusable as of\r\nnow, and that more combinations of arguments are permitted due to the\r\nremoval of constructors for `RepoBuilder`, which previously helped to\r\nensure the correctness of parameter combinations.\r\n\r\nLet\u0027s refactor `RepoConfiguration` to simplify the \r\ncomplexity of the constructor and increase modularity \r\nof the code.","fileTypesAndContributionMap":{"java":{"insertions":734,"deletions":158}}}]},{"date":"2024-03-02","commitResults":[{"hash":"bbb2f694a74d0dc1dea9084ad47b25bcd0bb42cb","isMergeCommit":false,"messageTitle":"[#2117] Refactor `CliArguments` to conform to `RepoConfiguration`\u0027s Builder Pattern (#2118)","messageBody":"Current implementation of the Builder pattern within `CliArguments`\r\ndoes not conform that in `RepoConfiguration`.\r\n\r\nLet\u0027s move to refactor `CliArguments` to reduce class attribute\r\nduplication across `CliArguments` and `CliArguments::Builder` and to\r\nenhance overall code quality.","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":101}}}]},{"date":"2024-03-26","commitResults":[{"hash":"3140c31c8d132aada99d917b789665cc3328cf0d","isMergeCommit":false,"messageTitle":"[#2091] Minor Enhancements to Existing Regex Code (#2115)","messageBody":"* Enhance existing Regex code\r\n\r\n* Consolidate typical Regex patterns\r\n\r\n---------\r\n\r\nCo-authored-by: Charisma Kausar \u003c68203159+ckcherry23@users.noreply.github.com\u003e\r\nCo-authored-by: Gokul Rajiv \u003c34594184+gok99@users.noreply.github.com\u003e\r\nCo-authored-by: Marcus Tang \u003c50147457+MarcusTXK@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":28}}}]},{"date":"2024-03-28","commitResults":[{"hash":"a733531b0bc7ecc0bb40f40b0f4de7db503e9057","isMergeCommit":false,"messageTitle":"[#2120] Update RepoSense contributors in documentation (#2138)","messageBody":"The current About page on the RepoSense docs does not reflect the\r\nupdated list of developers working on RepoSense.\r\n\r\nLet\u0027s move to update the list to more accurately reference the current\r\ndevelopers of RepoSense.","fileTypesAndContributionMap":{"md":{"insertions":69,"deletions":19}}}]},{"date":"2024-04-15","commitResults":[{"hash":"54d002806b9a2c564ebfaf49fab09f762d0d8aab","isMergeCommit":false,"messageTitle":"Allow CI to pass if Codecov fails (#2189)","messageBody":"CI is failing when Codecov is failing.\r\n\r\nThis is a temporary workaround for CI until issues with Codecov are\r\nfixed.","fileTypesAndContributionMap":{"yml":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-27","commitResults":[{"hash":"a25630e5fd55fe585b69368f647bd04e3f49f981","isMergeCommit":false,"messageTitle":"[#2177] Migrate to Java 11 Syntax and Features (#2183)","messageBody":"* Migrate CI/CD to Java 11\r\n\r\n* Update Docs to reflect Java 11\r\n\r\n* Update CI JDK version\r\n\r\n* Update checkstyle tool\r\n\r\n* Revert \"Update CI JDK version\"\r\n\r\nThe updating of the Checkstyle tool will be deferred\r\nto another PR to avoid causing dependency issues\r\narising from backwards compatibility.\r\n\r\n* Reapply \"Update CI JDK version\"\r\n\r\nReapplying revert action as it was reverted on\r\nthe wrong commit.\r\n\r\n* Revert \"Update checkstyle tool\"\r\n\r\nThe updating of the Checkstyle tool will be deferred\r\nto another PR to avoid causing dependency issues\r\narising from backwards compatibility.\r\n\r\n* Remove deprecated flags\r\n\r\n---------\r\n\r\nCo-authored-by: Ryan Poon \u003c96387349+sopa301@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":4},"md":{"insertions":8,"deletions":8},"yml":{"insertions":4,"deletions":4}}}]},{"date":"2024-05-12","commitResults":[{"hash":"f4cad78c41007171b1f1a9f4e61baa8cfe71c372","isMergeCommit":false,"messageTitle":"[#2170] Add Blurbs for Repos (#2191)","messageBody":"Currently, there are no ways for student developers to append messages\r\nfor each of the repositories they would like to showcase using\r\nRepoSense.\r\n\r\nLet\u0027s move to implement a blurbs feature to allow individual student\r\ndevelopers to showcase their contributions to their project.","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":441,"deletions":6},"md":{"insertions":73,"deletions":2},"js":{"insertions":34,"deletions":0}}}]}],"yuanxi1":[],"supermii2":[{"date":"2024-01-26","commitResults":[{"hash":"3cd680c3ddfa5a96f9168d3ab411d0cccfc3c52f","isMergeCommit":false,"messageTitle":"[#2082] Fix typo in command in Setting Up page (#2083)","messageBody":"Fix typo in Setting Up page\r\n\r\nThe command given in the developer guide for checking the local Node.js\r\nversion is `npm -v`, which displays the version of npm instead.\r\n\r\nLet\u0027s replace the command with `node -v`, which correctly displays the\r\nNode.js version.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-02-11","commitResults":[{"hash":"945405a6c5786c72e11b23da7c452bb9568b03b6","isMergeCommit":false,"messageTitle":"[#1933] Fix broken DevOps Guide link in Learning Basics (#2107)","messageBody":"Fix broken link to DevOps Guide in Learning Basics page.\r\n\r\nUnder the DevOps section in the developer guide,\r\nthe link to DevOps guide leads a Wiki link instead of redirecting to\r\nthe DevOps guide on the actual Reposense website.\r\n\r\nLet\u0027s fix the broken link by changing the address to the correct page.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"2692f0fef8b3d60579e0504d713d7505ff0f821c","isMergeCommit":false,"messageTitle":"[#2002] Add explicit return type annotations to TypeScript functions in *.vue files (#2125)","messageBody":"Many frontend functions lack return types after migration to\r\nTypeScript, which can cause errors due to TypeScript\u0027s attempted type\r\ninference being incorrect. Specifying return type explicitly can allow\r\nTypeScript to catch errors before the code is run.\r\n\r\nLet us add return type annotations to TypeScript functions within Vue\r\nfiles.\r\n\r\n---------\r\n\r\nCo-authored-by: David \u003cdavids89034@gmail.com\u003e","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]}],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"sopa301":{"java":1,"js":96,"scss":1,"json":3027,"md":24,"py":0,"pug":0,"gradle":1,"sh":0,"yml":3},"mingyuanc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jingting1412":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"yiwen101":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jonasongg":{"java":0,"js":797,"scss":21,"json":0,"md":3,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"domoberzin":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"asdfghjkxd":{"java":1359,"js":34,"scss":0,"json":0,"md":176,"py":0,"pug":0,"gradle":3,"sh":0,"yml":5},"yuanxi1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"supermii2":{"java":0,"js":0,"scss":0,"json":2,"md":2,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"marquestye":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"NereusWB922":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"dishenggg":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"MadLamprey":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":5002011.5,"mingyuanc":0.0,"jingting1412":0.0,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":812.2361,"domoberzin":0.0,"asdfghjkxd":6827.198,"yuanxi1":0.0,"supermii2":0.14225592,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":0.0},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} diff --git a/summary.json b/summary.json index 3660951..29a1d0d 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"29b9f5fbd7","reportGeneratedTime":"Tue May 14 08:02:17 2024 UTC+08:00","reportGenerationTime":" 1 minute(s) 5.31 second(s)","zoneId":"UTC+08:00","reportTitle":"RepoSense Report","repos":[{"location":{"location":"https://github.com/markbind/markbind.git","repoName":"markbind","organization":"markbind","domainName":"github"},"branch":"master","displayName":"markbind/markbind[master]","outputFolderName":"markbind_markbind_master"},{"location":{"location":"https://github.com/reposense/reposense.git","repoName":"reposense","organization":"reposense","domainName":"github"},"branch":"master","displayName":"reposense/reposense[master]","outputFolderName":"reposense_reposense_master"},{"location":{"location":"https://github.com/se-edu/addressbook-level3.git","repoName":"addressbook-level3","organization":"se-edu","domainName":"github"},"branch":"master","displayName":"se-edu/addressbook-level3[master]","outputFolderName":"se-edu_addressbook-level3_master"},{"location":{"location":"https://github.com/TEAMMATES/teammates.git","repoName":"teammates","organization":"TEAMMATES","domainName":"github"},"branch":"master","displayName":"TEAMMATES/teammates[master]","outputFolderName":"TEAMMATES_teammates_master"},{"location":{"location":"https://github.com/CATcher-org/CATcher.git","repoName":"CATcher","organization":"CATcher-org","domainName":"github"},"branch":"master","displayName":"CATcher-org/CATcher[master]","outputFolderName":"CATcher-org_CATcher_master"},{"location":{"location":"https://github.com/CATcher-org/WATcher.git","repoName":"WATcher","organization":"CATcher-org","domainName":"github"},"branch":"main","displayName":"CATcher-org/WATcher[main]","outputFolderName":"CATcher-org_WATcher_main"}],"errorSet":[],"sinceDate":"2023-12-01","untilDate":"2024-05-14","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}},"isAuthorshipAnalyzed":false} +{"repoSenseVersion":"29b9f5fbd7","reportGeneratedTime":"Wed May 15 08:02:07 2024 UTC+08:00","reportGenerationTime":" 1 minute(s) 5.88 second(s)","zoneId":"UTC+08:00","reportTitle":"RepoSense Report","repos":[{"location":{"location":"https://github.com/markbind/markbind.git","repoName":"markbind","organization":"markbind","domainName":"github"},"branch":"master","displayName":"markbind/markbind[master]","outputFolderName":"markbind_markbind_master"},{"location":{"location":"https://github.com/reposense/reposense.git","repoName":"reposense","organization":"reposense","domainName":"github"},"branch":"master","displayName":"reposense/reposense[master]","outputFolderName":"reposense_reposense_master"},{"location":{"location":"https://github.com/se-edu/addressbook-level3.git","repoName":"addressbook-level3","organization":"se-edu","domainName":"github"},"branch":"master","displayName":"se-edu/addressbook-level3[master]","outputFolderName":"se-edu_addressbook-level3_master"},{"location":{"location":"https://github.com/TEAMMATES/teammates.git","repoName":"teammates","organization":"TEAMMATES","domainName":"github"},"branch":"master","displayName":"TEAMMATES/teammates[master]","outputFolderName":"TEAMMATES_teammates_master"},{"location":{"location":"https://github.com/CATcher-org/CATcher.git","repoName":"CATcher","organization":"CATcher-org","domainName":"github"},"branch":"master","displayName":"CATcher-org/CATcher[master]","outputFolderName":"CATcher-org_CATcher_master"},{"location":{"location":"https://github.com/CATcher-org/WATcher.git","repoName":"WATcher","organization":"CATcher-org","domainName":"github"},"branch":"main","displayName":"CATcher-org/WATcher[main]","outputFolderName":"CATcher-org_WATcher_main"}],"errorSet":[],"sinceDate":"2023-12-01","untilDate":"2024-05-15","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}},"isAuthorshipAnalyzed":false}