synapse-react-client 3.0.24 → 3.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/containers/AccessApprovalsTable.d.ts +6 -0
  2. package/dist/containers/AccessApprovalsTable.js +90 -0
  3. package/dist/containers/AccessApprovalsTable.js.map +1 -0
  4. package/dist/containers/CardContainer.js +1 -1
  5. package/dist/containers/CardContainer.js.map +1 -1
  6. package/dist/containers/EntityBadgeIcons.d.ts +1 -1
  7. package/dist/containers/EntityBadgeIcons.js +30 -20
  8. package/dist/containers/EntityBadgeIcons.js.map +1 -1
  9. package/dist/containers/ErrorBanner.js +1 -1
  10. package/dist/containers/ErrorBanner.js.map +1 -1
  11. package/dist/containers/IconSvg.js +1 -1
  12. package/dist/containers/IconSvg.js.map +1 -1
  13. package/dist/containers/TermsAndConditionsItem.js +2 -2
  14. package/dist/containers/TermsAndConditionsItem.js.map +1 -1
  15. package/dist/containers/UserSearchBoxV2.js +1 -1
  16. package/dist/containers/UserSearchBoxV2.js.map +1 -1
  17. package/dist/containers/access_requirement_list/AcceptedRequirements.js +1 -1
  18. package/dist/containers/access_requirement_list/AcceptedRequirements.js.map +1 -1
  19. package/dist/containers/access_requirement_list/AccessApprovalCheckMark.js +1 -1
  20. package/dist/containers/access_requirement_list/AccessApprovalCheckMark.js.map +1 -1
  21. package/dist/containers/access_requirement_list/AccessRequirementList.d.ts +7 -1
  22. package/dist/containers/access_requirement_list/AccessRequirementList.js +63 -57
  23. package/dist/containers/access_requirement_list/AccessRequirementList.js.map +1 -1
  24. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccess.js +1 -1
  25. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccess.js.map +1 -1
  26. package/dist/containers/dataaccess/AccessHistoryDashboard.d.ts +2 -0
  27. package/dist/containers/dataaccess/AccessHistoryDashboard.js +95 -0
  28. package/dist/containers/dataaccess/AccessHistoryDashboard.js.map +1 -0
  29. package/dist/containers/dataaccess/AccessSubmissionDashboard.js +2 -1
  30. package/dist/containers/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  31. package/dist/containers/dataaccess/ReviewerDashboard.js +15 -26
  32. package/dist/containers/dataaccess/ReviewerDashboard.js.map +1 -1
  33. package/dist/containers/dataaccess/SubmissionPage.js +12 -6
  34. package/dist/containers/dataaccess/SubmissionPage.js.map +1 -1
  35. package/dist/containers/entity/metadata/EntityModal.js +8 -2
  36. package/dist/containers/entity/metadata/EntityModal.js.map +1 -1
  37. package/dist/containers/entity_finder/EntityFinder.js +25 -21
  38. package/dist/containers/entity_finder/EntityFinder.js.map +1 -1
  39. package/dist/containers/entity_finder/details/EntityDetailsList.d.ts +3 -1
  40. package/dist/containers/entity_finder/details/EntityDetailsList.js.map +1 -1
  41. package/dist/containers/entity_finder/details/view/DetailsView.d.ts +2 -2
  42. package/dist/containers/entity_finder/details/view/DetailsView.js +16 -5
  43. package/dist/containers/entity_finder/details/view/DetailsView.js.map +1 -1
  44. package/dist/containers/entity_finder/details/view/DetailsViewTableRenderers.d.ts +5 -5
  45. package/dist/containers/entity_finder/details/view/DetailsViewTableRenderers.js +1 -1
  46. package/dist/containers/entity_finder/details/view/DetailsViewTableRenderers.js.map +1 -1
  47. package/dist/containers/entity_finder/tree/EntityTree.d.ts +11 -3
  48. package/dist/containers/entity_finder/tree/EntityTree.js +15 -14
  49. package/dist/containers/entity_finder/tree/EntityTree.js.map +1 -1
  50. package/dist/containers/evaluation_queues/round_limits/EvaluationRoundLimitOptionsList.js +4 -4
  51. package/dist/containers/evaluation_queues/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  52. package/dist/containers/table/TopLevelControls.js +1 -1
  53. package/dist/containers/table/TopLevelControls.js.map +1 -1
  54. package/dist/containers/table/datasets/DatasetItemsEditor.js +17 -14
  55. package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
  56. package/dist/containers/table/table-top/DownloadOptions.d.ts +1 -5
  57. package/dist/containers/table/table-top/DownloadOptions.js +21 -11
  58. package/dist/containers/table/table-top/DownloadOptions.js.map +1 -1
  59. package/dist/index.d.ts +0 -2
  60. package/dist/index.js +0 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/style/abstracts/_mixins.scss +5 -3
  63. package/dist/style/components/_all.scss +3 -3
  64. package/dist/style/components/_download-list.scss +0 -58
  65. package/dist/style/components/_entity-badge.scss +3 -3
  66. package/dist/style/components/_governance-dashboard.scss +2 -1
  67. package/dist/style/components/entity_finder/_details-view.scss +9 -3
  68. package/dist/style/components/entity_finder/_entity-finder.scss +2 -2
  69. package/dist/style/components/entity_finder/_selection-pane.scss +5 -3
  70. package/dist/style/main.css +56 -161
  71. package/dist/umd/synapse-react-client.development.css +56 -154
  72. package/dist/umd/synapse-react-client.development.css.map +2 -2
  73. package/dist/umd/synapse-react-client.development.js +5038 -5238
  74. package/dist/umd/synapse-react-client.development.js.map +3 -3
  75. package/dist/umd/synapse-react-client.production.min.css +1 -1
  76. package/dist/umd/synapse-react-client.production.min.js +76 -76
  77. package/dist/umd.index.d.ts +0 -2
  78. package/dist/umd.index.js +0 -2
  79. package/dist/umd.index.js.map +1 -1
  80. package/dist/utils/APIConstants.d.ts +1 -0
  81. package/dist/utils/APIConstants.js +5 -1
  82. package/dist/utils/APIConstants.js.map +1 -1
  83. package/dist/utils/SynapseClient.js +1 -2
  84. package/dist/utils/SynapseClient.js.map +1 -1
  85. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessApprovals.d.ts +5 -0
  86. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessApprovals.js +21 -0
  87. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessApprovals.js.map +1 -0
  88. package/dist/utils/hooks/SynapseAPI/entity/queryKeys.js +4 -0
  89. package/dist/utils/hooks/SynapseAPI/entity/queryKeys.js.map +1 -1
  90. package/dist/utils/hooks/SynapseAPI/entity/useEntity.d.ts +1 -0
  91. package/dist/utils/hooks/SynapseAPI/entity/useEntity.js +22 -1
  92. package/dist/utils/hooks/SynapseAPI/entity/useEntity.js.map +1 -1
  93. package/dist/utils/hooks/useGetInfoFromIds.js +7 -1
  94. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  95. package/package.json +1 -1
  96. package/dist/containers/download_list/CreatePackage.d.ts +0 -8
  97. package/dist/containers/download_list/CreatePackage.js +0 -131
  98. package/dist/containers/download_list/CreatePackage.js.map +0 -1
  99. package/dist/containers/download_list/DownloadListTable.d.ts +0 -16
  100. package/dist/containers/download_list/DownloadListTable.js +0 -438
  101. package/dist/containers/download_list/DownloadListTable.js.map +0 -1
  102. package/dist/style/components/_download-link.scss +0 -57
@@ -16337,10 +16337,6 @@ main .MuiDrawer-root a:not(.btn).disabled:hover,
16337
16337
  #rootPanel .nav-tabs a:not(.btn).disabled:hover,
16338
16338
  #rootPanel .dropdown-menu a:not(.btn).disabled:hover,
16339
16339
  #rootPanel .MuiDrawer-root a:not(.btn).disabled:hover {
16340
- text-decoration: underline;
16341
- text-underline-offset: 4px;
16342
- text-decoration-thickness: 1px;
16343
- text-decoration-color: #d6d6d6;
16344
16340
  cursor: default;
16345
16341
  }
16346
16342
  main * a.ignoreLink:not(.btn),
@@ -16378,10 +16374,6 @@ main .bootstrap-4-backport a.ignoreLink:not(.btn).disabled:hover,
16378
16374
  .modal .bootstrap-4-backport a.ignoreLink:not(.btn).disabled:hover,
16379
16375
  #rootPanel * a.ignoreLink:not(.btn).disabled:hover,
16380
16376
  #rootPanel .bootstrap-4-backport a.ignoreLink:not(.btn).disabled:hover {
16381
- text-decoration: underline;
16382
- text-underline-offset: 4px;
16383
- text-decoration-thickness: 1px;
16384
- text-decoration-color: #d6d6d6;
16385
16377
  cursor: default;
16386
16378
  }
16387
16379
  main * a.ignoreLink:not(.btn):visited,
@@ -16467,10 +16459,6 @@ main .bootstrap-4-backport a.ignoreLink:not(.btn):link.disabled:hover,
16467
16459
  #rootPanel .bootstrap-4-backport a.ignoreLink:not(.btn):visited.disabled:hover,
16468
16460
  #rootPanel .bootstrap-4-backport a.ignoreLink:not(.btn):active.disabled:hover,
16469
16461
  #rootPanel .bootstrap-4-backport a.ignoreLink:not(.btn):link.disabled:hover {
16470
- text-decoration: underline;
16471
- text-underline-offset: 4px;
16472
- text-decoration-thickness: 1px;
16473
- text-decoration-color: #d6d6d6;
16474
16462
  cursor: default;
16475
16463
  }
16476
16464
  .searchInputWithIcon span {
@@ -16998,53 +16986,6 @@ svg.HelpButton {
16998
16986
  .download-details-container svg {
16999
16987
  margin-right: 4px;
17000
16988
  }
17001
- .DownloadListTable .create-package-text {
17002
- font-size: 17px;
17003
- margin: 0px;
17004
- }
17005
- .DownloadListTable .download-list-table-top {
17006
- align-items: center;
17007
- height: 40px;
17008
- padding-left: 5px;
17009
- }
17010
- .DownloadListTable .download-list-table-top * {
17011
- color: white;
17012
- }
17013
- .DownloadListTable .btn {
17014
- margin-left: 15px;
17015
- }
17016
- .DownloadListTable .download-list-table td {
17017
- vertical-align: middle !important;
17018
- }
17019
- .sort {
17020
- padding-left: 5px;
17021
- }
17022
- .create-package-container {
17023
- display: flex;
17024
- padding: 8px;
17025
- flex-flow: row wrap;
17026
- align-items: center;
17027
- }
17028
- .create-package-container > :first-child {
17029
- flex: 3;
17030
- }
17031
- .create-package-container > :last-child {
17032
- flex: 5;
17033
- }
17034
- .create-package-container input {
17035
- padding: 8px;
17036
- }
17037
- .create-package-container svg {
17038
- margin-right: 8px;
17039
- }
17040
- .zip-extension {
17041
- font-size: 18px;
17042
- color: #666666;
17043
- margin-left: 5px;
17044
- }
17045
- .download-list-table td {
17046
- vertical-align: middle !important;
17047
- }
17048
16989
  .has-access-tooltip-width {
17049
16990
  max-width: 250px;
17050
16991
  text-align: center;
@@ -18147,69 +18088,6 @@ svg.HelpButton {
18147
18088
  box-shadow: none;
18148
18089
  border-radius: 2px;
18149
18090
  }
18150
- .Download-Link {
18151
- position: relative;
18152
- display: inline-block;
18153
- }
18154
- .Download-Link .icon-container {
18155
- background-color: rgb(64, 123, 160);
18156
- border-radius: 50%;
18157
- width: 30px;
18158
- height: 30px;
18159
- padding: 20px;
18160
- display: inline-flex;
18161
- align-items: center;
18162
- justify-content: center;
18163
- vertical-align: middle;
18164
- }
18165
- .Download-Link .icon-container * {
18166
- color: white;
18167
- }
18168
- .Download-Link .download-size {
18169
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
18170
- background-color: green;
18171
- text-align: center;
18172
- position: absolute;
18173
- width: 30px;
18174
- height: 18px;
18175
- color: white;
18176
- border-radius: 8px;
18177
- }
18178
- .Download-Link .download-size.position-by-button {
18179
- top: 7px;
18180
- right: -8px;
18181
- }
18182
- .Download-Link .download-size.position-by-anchor {
18183
- top: -20px;
18184
- right: -10px;
18185
- }
18186
- .download-list-modal-container .DownloadListTable {
18187
- padding: 20px;
18188
- max-height: 700px;
18189
- overflow: auto;
18190
- }
18191
- .download-list-modal-container .DownloadListTable table {
18192
- position: relative;
18193
- }
18194
- .download-list-modal-container .DownloadListTable table th {
18195
- top: 0px;
18196
- position: sticky;
18197
- z-index: 12;
18198
- }
18199
- .download-list-modal-container .create-package-container {
18200
- border-top: 1px solid #dcdcdc;
18201
- }
18202
- .page-progress button,
18203
- .page-progress button:active,
18204
- .page-progress button:focus,
18205
- .page-progress button:active:focus,
18206
- .terms-conditions .view-terms a,
18207
- .terms-conditions .view-terms a:active:focus {
18208
- border: 0;
18209
- outline: none;
18210
- box-shadow: none;
18211
- border-radius: 2px;
18212
- }
18213
18091
  .TotalQueryResults {
18214
18092
  color: #1a1c29;
18215
18093
  background: unset;
@@ -21101,14 +20979,14 @@ input[type=radio] + span {
21101
20979
  }
21102
20980
  .EntityFinder__Search .SearchIcon {
21103
20981
  position: relative;
21104
- left: 22px;
20982
+ left: 27px;
21105
20983
  top: 1px;
21106
20984
  }
21107
20985
  .EntityFinder__Search .ClearSearchIcon {
21108
20986
  color: rgb(64, 123, 160);
21109
20987
  cursor: pointer;
21110
20988
  position: relative;
21111
- left: -20px;
20989
+ left: -30px;
21112
20990
  margin-right: -8px;
21113
20991
  }
21114
20992
  .EntityFinder__Search button.btn {
@@ -21202,14 +21080,14 @@ input[type=radio] + span {
21202
21080
  }
21203
21081
  .EntityFinder__Search .SearchIcon {
21204
21082
  position: relative;
21205
- left: 22px;
21083
+ left: 27px;
21206
21084
  top: 1px;
21207
21085
  }
21208
21086
  .EntityFinder__Search .ClearSearchIcon {
21209
21087
  color: rgb(64, 123, 160);
21210
21088
  cursor: pointer;
21211
21089
  position: relative;
21212
- left: -20px;
21090
+ left: -30px;
21213
21091
  margin-right: -8px;
21214
21092
  }
21215
21093
  .EntityFinder__Search button.btn {
@@ -21419,7 +21297,7 @@ input[type=radio] + span {
21419
21297
  background-color: #ffffff;
21420
21298
  position: relative;
21421
21299
  box-sizing: border-box;
21422
- font-size: 16px;
21300
+ font-size: 14px;
21423
21301
  }
21424
21302
  .DetailsViewTable--disabled {
21425
21303
  opacity: 0.7;
@@ -21822,6 +21700,31 @@ input[type=radio] + span {
21822
21700
  .EntityFinderDetailsViewRow[aria-hidden=true] {
21823
21701
  display: none;
21824
21702
  }
21703
+ .EntityFinderDetailsViewRow .EntityFinderTableCellContainerLink {
21704
+ color: rgb(64, 123, 160);
21705
+ text-decoration: none;
21706
+ font-weight: 700;
21707
+ letter-spacing: 0.5px;
21708
+ }
21709
+ .EntityFinderDetailsViewRow .EntityFinderTableCellContainerLink:hover {
21710
+ text-decoration: underline;
21711
+ text-underline-offset: 4px;
21712
+ text-decoration-thickness: 2px;
21713
+ text-decoration-color: #2a678d;
21714
+ }
21715
+ .EntityFinderDetailsViewRow .EntityFinderTableCellContainerLink.disabled {
21716
+ color: #aeb5bc;
21717
+ }
21718
+ .EntityFinderDetailsViewRow .EntityFinderTableCellContainerLink.disabled:hover {
21719
+ text-decoration: underline;
21720
+ text-underline-offset: 4px;
21721
+ text-decoration-thickness: 1px;
21722
+ text-decoration-color: #d6d6d6;
21723
+ cursor: default;
21724
+ }
21725
+ .EntityFinderDetailsViewRow .EntityFinderTableCellEntityIcon svg {
21726
+ width: 20px;
21727
+ }
21825
21728
  .terms-conditions .view-terms a,
21826
21729
  .terms-conditions .view-terms a:active:focus,
21827
21730
  .page-progress button,
@@ -21850,14 +21753,14 @@ input[type=radio] + span {
21850
21753
  }
21851
21754
  .EntityFinder__Search .SearchIcon {
21852
21755
  position: relative;
21853
- left: 22px;
21756
+ left: 27px;
21854
21757
  top: 1px;
21855
21758
  }
21856
21759
  .EntityFinder__Search .ClearSearchIcon {
21857
21760
  color: rgb(64, 123, 160);
21858
21761
  cursor: pointer;
21859
21762
  position: relative;
21860
- left: -20px;
21763
+ left: -30px;
21861
21764
  margin-right: -8px;
21862
21765
  }
21863
21766
  .EntityFinder__Search button.btn {
@@ -22015,14 +21918,14 @@ input[type=radio] + span {
22015
21918
  }
22016
21919
  .EntityFinder__Search .SearchIcon {
22017
21920
  position: relative;
22018
- left: 22px;
21921
+ left: 27px;
22019
21922
  top: 1px;
22020
21923
  }
22021
21924
  .EntityFinder__Search .ClearSearchIcon {
22022
21925
  color: rgb(64, 123, 160);
22023
21926
  cursor: pointer;
22024
21927
  position: relative;
22025
- left: -20px;
21928
+ left: -30px;
22026
21929
  margin-right: -8px;
22027
21930
  }
22028
21931
  .EntityFinder__Search button.btn {
@@ -22152,14 +22055,14 @@ input[type=radio] + span {
22152
22055
  }
22153
22056
  .EntityFinder__Search .SearchIcon {
22154
22057
  position: relative;
22155
- left: 22px;
22058
+ left: 27px;
22156
22059
  top: 1px;
22157
22060
  }
22158
22061
  .EntityFinder__Search .ClearSearchIcon {
22159
22062
  color: rgb(64, 123, 160);
22160
22063
  cursor: pointer;
22161
22064
  position: relative;
22162
- left: -20px;
22065
+ left: -30px;
22163
22066
  margin-right: -8px;
22164
22067
  }
22165
22068
  .EntityFinder__Search button.btn {
@@ -22286,14 +22189,14 @@ input[type=radio] + span {
22286
22189
  }
22287
22190
  .EntityFinder__Search .SearchIcon {
22288
22191
  position: relative;
22289
- left: 22px;
22192
+ left: 27px;
22290
22193
  top: 1px;
22291
22194
  }
22292
22195
  .EntityFinder__Search .ClearSearchIcon {
22293
22196
  color: rgb(64, 123, 160);
22294
22197
  cursor: pointer;
22295
22198
  position: relative;
22296
- left: -20px;
22199
+ left: -30px;
22297
22200
  margin-right: -8px;
22298
22201
  }
22299
22202
  .EntityFinder__Search button.btn {
@@ -22425,11 +22328,13 @@ input[type=radio] + span {
22425
22328
  .EntityFinderSelectionPane__Row {
22426
22329
  display: flex;
22427
22330
  align-items: center;
22428
- margin-bottom: 5px;
22331
+ margin: 5px 0px;
22429
22332
  }
22430
22333
  .EntityFinderSelectionPane__Row .EntityIcon {
22431
- margin: 10px 10px 10px 0px;
22432
- width: 15px;
22334
+ margin-right: 5px;
22335
+ }
22336
+ .EntityFinderSelectionPane__Row .EntityIcon svg {
22337
+ width: 18px;
22433
22338
  }
22434
22339
  .EntityFinderSelectionPane__Row__EntityName {
22435
22340
  font-weight: bold;
@@ -22456,9 +22361,9 @@ input[type=radio] + span {
22456
22361
  flex-direction: row-reverse;
22457
22362
  }
22458
22363
  .EntityBadge__Badge {
22459
- margin: 2px;
22460
- max-width: 10px;
22461
- max-height: 10px;
22364
+ margin: 1px;
22365
+ max-width: 16px;
22366
+ max-height: 16px;
22462
22367
  }
22463
22368
  .EntityBadge__Badge.Unlink {
22464
22369
  color: #c94281;
@@ -23323,10 +23228,6 @@ table.DownloadListTableV2 td {
23323
23228
  color: #aeb5bc;
23324
23229
  }
23325
23230
  .SynapseNavContentDrawer .createProjectLink.disabled:hover {
23326
- text-decoration: underline;
23327
- text-underline-offset: 4px;
23328
- text-decoration-thickness: 1px;
23329
- text-decoration-color: #d6d6d6;
23330
23231
  cursor: default;
23331
23232
  }
23332
23233
  .terms-conditions .view-terms a,
@@ -24416,10 +24317,6 @@ input[type=radio] + span {
24416
24317
  color: #aeb5bc;
24417
24318
  }
24418
24319
  .ReviewerDashboard .Tabs .Tab.disabled:hover {
24419
- text-decoration: underline;
24420
- text-underline-offset: 4px;
24421
- text-decoration-thickness: 1px;
24422
- text-decoration-color: #d6d6d6;
24423
24320
  cursor: default;
24424
24321
  }
24425
24322
  .ReviewerDashboard .TabContentContainer {
@@ -24475,22 +24372,26 @@ input[type=radio] + span {
24475
24372
  font-style: italic;
24476
24373
  }
24477
24374
  .AccessRequirementDashboard .InputPanel,
24478
- .AccessSubmissionDashboard .InputPanel {
24375
+ .AccessSubmissionDashboard .InputPanel,
24376
+ .UserHistoryDashboard .InputPanel {
24479
24377
  display: grid;
24480
24378
  grid-template-columns: auto 265px auto;
24481
24379
  gap: 25px;
24482
24380
  }
24483
24381
  .AccessRequirementDashboard .InputPanel input,
24484
- .AccessSubmissionDashboard .InputPanel input {
24382
+ .AccessSubmissionDashboard .InputPanel input,
24383
+ .UserHistoryDashboard .InputPanel input {
24485
24384
  margin-bottom: 0;
24486
24385
  }
24487
24386
  .AccessRequirementDashboard .InputPanel .ProjectIdInputGroup,
24488
- .AccessSubmissionDashboard .InputPanel .ProjectIdInputGroup {
24387
+ .AccessSubmissionDashboard .InputPanel .ProjectIdInputGroup,
24388
+ .UserHistoryDashboard .InputPanel .ProjectIdInputGroup {
24489
24389
  display: flex;
24490
24390
  gap: 5px;
24491
24391
  }
24492
24392
  .AccessRequirementDashboard .InputPanel .styled-svg-wrapper,
24493
- .AccessSubmissionDashboard .InputPanel .styled-svg-wrapper {
24393
+ .AccessSubmissionDashboard .InputPanel .styled-svg-wrapper,
24394
+ .UserHistoryDashboard .InputPanel .styled-svg-wrapper {
24494
24395
  position: absolute;
24495
24396
  right: 5px;
24496
24397
  z-index: 5;
@@ -24499,7 +24400,8 @@ input[type=radio] + span {
24499
24400
  align-items: center;
24500
24401
  }
24501
24402
  .AccessRequirementDashboard .SubmissionGrid,
24502
- .AccessSubmissionDashboard .SubmissionGrid {
24403
+ .AccessSubmissionDashboard .SubmissionGrid,
24404
+ .UserHistoryDashboard .SubmissionGrid {
24503
24405
  grid-template-columns: auto auto auto;
24504
24406
  }
24505
24407