Refactor the unstructured text into a valid JSON dictionary. The key names follow the Darwin Core Archive Standard. If a key lacks content, then insert an empty string. Fill in the following JSON structure as required: {"catalogNumber": "", "order": "", "family": "", "scientificName": "", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}
  IS?]i beatrice woodward   F -82.44219 michigan F  sororia <   G [beatrice woodward ctollected as a ninth grade student; her collections were presented by th family 30 july, 1970] United States l! oF   s.n. Q %   @ 1496491  Port Huron area. n  42.99284 ]F)G    )W6X moist woods     ~@C.t malpighiales   0E4 willd.  ]Z 1896-05-04 VIOLACEAE i   a st. clair  .1 ANTON A. REZNICEK  M rz/ viola sororia  !Or/ viola
{"catalogNumber": "1496491", "order": "Malpighiales", "family": "Violaceae", "scientificName": "Viola sororia", "scientificNameAuthorship": "Willd.", "genus": "Viola", "subgenus": "", "specificEpithet": "sororia", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "Anton A. Reznicek", "recordedBy": "Beatrice Woodward", "recordNumber": "s.n.", "verbatimEventDate": "1896-05-04", "habitat": "moist woods", "occurrenceRemarks": "[Beatrice Woodward collected as a ninth grade student; her collections were presented by the Family 30 July, 1970]", "associatedTaxa": "", "country": "United States", "stateProvince": "Michigan", "county": "St. Clair", "municipality": "", "locality": "Port Huron area.", "decimalLatitude": "42.99284", "decimalLongitude": "-82.44219", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}