Walgreens to pay San Francisco $229 million over opioid crisis