```\nfunction setMaxSupplies(uint256[] calldata \_ids, uint256[] calldata \_newMaxSupplies) external onlyOwner() {\n  require(\_ids.length == \_newMaxSupplies.length, "SWSupplyManager#setMaxSupply: INVALID\_ARRAYS\_LENGTH");\n\n  // Can only \*decrease\* a max supply\n  // Can't set max supply back to 0\n  for (uint256 i = 0; i < \_ids.length; i++ ) {\n    if (maxSupply[\_ids[i]] > 0) {\n      require(\n        0 < \_newMaxSupplies[i] && \_newMaxSupplies[i] < maxSupply[\_ids[i]],\n        "SWSupplyManager#setMaxSupply: INVALID\_NEW\_MAX\_SUPPLY"\n      );\n    }\n    maxSupply[\_ids[i]] = \_newMaxSupplies[i];\n  }\n\n  emit MaxSuppliesChanged(\_ids, \_newMaxSupplies);\n}\n```\n