prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Unable to change ContentBasedDeduplication attribute on existing queue
  ### Is there an existing issue for this?
  
  - [X] I have searched the existing issues
  
  ### Current Behavior
  
  If I create a queue and try to change its `ContentDeduplication` attribute, I see this error:
  
  ` An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.`
  
  ### Expected Behavior
  
  I should be able to set `ContentBasedDeduplication` from `true` to `false` on an existing queue.  It appears to work on AWS.
  
  ### How are you starting LocalStack?
  
  With a docker-compose file
  
  ### Steps To Reproduce
  
  #### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)
  
      docker run localstack/localstack
  
  #### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)
  
  ```
  aws sqs create-queue --queue-name test1.fifo --endpoint-url http://localhost:4566/ --attributes FifoQueue=true,ContentBasedDeduplication=true
  {
      "QueueUrl": "http://localhost:4566/000000000000/test1.fifo"
  }
  
  
  aws sqs get-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attribute-names '["ContentBasedDeduplication"]'
  {
      "Attributes": {
          "FifoQueue": "true,
          "ContentBasedDeduplication": "true"
      }
  }
  
  aws sqs set-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attributes ContentBasedDeduplication=false
  
  An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.
  ```
  
  
  ### Environment
  
  ```markdown
  - OS: MacOs Ventura 13.3.1 (a) 
  - LocalStack: 2.1.0
  ```
  
  
  ### Anything else?
  
  _No response_
  
  </issue>
  <code>
  [start of localstack/services/sqs/constants.py]
  1 # Valid unicode values: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF
  2 # https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
  3 from localstack.aws.api.sqs import QueueAttributeName
  4 
  5 MSG_CONTENT_REGEX = "^[\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]*$"
  6 
  7 # https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html
  8 # While not documented, umlauts seem to be allowed
  9 ATTR_NAME_CHAR_REGEX = "^[\u00C0-\u017Fa-zA-Z0-9_.-]*$"
  10 ATTR_NAME_PREFIX_SUFFIX_REGEX = r"^(?!(aws\.|amazon\.|\.)).*(?<!\.)$"
  11 ATTR_TYPE_REGEX = "^(String|Number|Binary).*$"
  12 FIFO_MSG_REGEX = "^[0-9a-zA-z!\"#$%&'()*+,./:;<=>?@[\\]^_`{|}~-]*$"
  13 
  14 DEDUPLICATION_INTERVAL_IN_SEC = 5 * 60
  15 
  16 # When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.
  17 # see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html
  18 RECENTLY_DELETED_TIMEOUT = 60
  19 
  20 # the default maximum message size in SQS
  21 DEFAULT_MAXIMUM_MESSAGE_SIZE = 262144
  22 INTERNAL_QUEUE_ATTRIBUTES = [
  23     # these attributes cannot be changed by set_queue_attributes and should
  24     # therefore be ignored when comparing queue attributes for create_queue
  25     # 'FifoQueue' is handled on a per_queue basis
  26     QueueAttributeName.ApproximateNumberOfMessages,
  27     QueueAttributeName.ApproximateNumberOfMessagesDelayed,
  28     QueueAttributeName.ApproximateNumberOfMessagesNotVisible,
  29     QueueAttributeName.ContentBasedDeduplication,
  30     QueueAttributeName.CreatedTimestamp,
  31     QueueAttributeName.LastModifiedTimestamp,
  32     QueueAttributeName.QueueArn,
  33 ]
  34
  [end of localstack/services/sqs/constants.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/localstack/services/sqs/constants.py b/localstack/services/sqs/constants.py
  --- a/localstack/services/sqs/constants.py
  +++ b/localstack/services/sqs/constants.py
  @@ -26,7 +26,6 @@
       QueueAttributeName.ApproximateNumberOfMessages,
       QueueAttributeName.ApproximateNumberOfMessagesDelayed,
       QueueAttributeName.ApproximateNumberOfMessagesNotVisible,
  -    QueueAttributeName.ContentBasedDeduplication,
       QueueAttributeName.CreatedTimestamp,
       QueueAttributeName.LastModifiedTimestamp,
       QueueAttributeName.QueueArn,
  
verification_info: {"golden_diff": "diff --git a/localstack/services/sqs/constants.py b/localstack/services/sqs/constants.py\n--- a/localstack/services/sqs/constants.py\n+++ b/localstack/services/sqs/constants.py\n@@ -26,7 +26,6 @@\n     QueueAttributeName.ApproximateNumberOfMessages,\n     QueueAttributeName.ApproximateNumberOfMessagesDelayed,\n     QueueAttributeName.ApproximateNumberOfMessagesNotVisible,\n-    QueueAttributeName.ContentBasedDeduplication,\n     QueueAttributeName.CreatedTimestamp,\n     QueueAttributeName.LastModifiedTimestamp,\n     QueueAttributeName.QueueArn,\n", "issue": "Unable to change ContentBasedDeduplication attribute on existing queue\n### Is there an existing issue for this?\r\n\r\n- [X] I have searched the existing issues\r\n\r\n### Current Behavior\r\n\r\nIf I create a queue and try to change its `ContentDeduplication` attribute, I see this error:\r\n\r\n` An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.`\r\n\r\n### Expected Behavior\r\n\r\nI should be able to set `ContentBasedDeduplication` from `true` to `false` on an existing queue.  It appears to work on AWS.\r\n\r\n### How are you starting LocalStack?\r\n\r\nWith a docker-compose file\r\n\r\n### Steps To Reproduce\r\n\r\n#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)\r\n\r\n    docker run localstack/localstack\r\n\r\n#### Client commands (e.g., AWS SDK code snippet, or sequence of \"awslocal\" commands)\r\n\r\n```\r\naws sqs create-queue --queue-name test1.fifo --endpoint-url http://localhost:4566/ --attributes FifoQueue=true,ContentBasedDeduplication=true\r\n{\r\n    \"QueueUrl\": \"http://localhost:4566/000000000000/test1.fifo\"\r\n}\r\n\r\n\r\naws sqs get-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attribute-names '[\"ContentBasedDeduplication\"]'\r\n{\r\n    \"Attributes\": {\r\n        \"FifoQueue\": \"true,\r\n        \"ContentBasedDeduplication\": \"true\"\r\n    }\r\n}\r\n\r\naws sqs set-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attributes ContentBasedDeduplication=false\r\n\r\nAn error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.\r\n```\r\n\r\n\r\n### Environment\r\n\r\n```markdown\r\n- OS: MacOs Ventura 13.3.1 (a) \r\n- LocalStack: 2.1.0\r\n```\r\n\r\n\r\n### Anything else?\r\n\r\n_No response_\n", "before_files": [{"content": "# Valid unicode values: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html\nfrom localstack.aws.api.sqs import QueueAttributeName\n\nMSG_CONTENT_REGEX = \"^[\\u0009\\u000A\\u000D\\u0020-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$\"\n\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html\n# While not documented, umlauts seem to be allowed\nATTR_NAME_CHAR_REGEX = \"^[\\u00C0-\\u017Fa-zA-Z0-9_.-]*$\"\nATTR_NAME_PREFIX_SUFFIX_REGEX = r\"^(?!(aws\\.|amazon\\.|\\.)).*(?<!\\.)$\"\nATTR_TYPE_REGEX = \"^(String|Number|Binary).*$\"\nFIFO_MSG_REGEX = \"^[0-9a-zA-z!\\\"#$%&'()*+,./:;<=>?@[\\\\]^_`{|}~-]*$\"\n\nDEDUPLICATION_INTERVAL_IN_SEC = 5 * 60\n\n# When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n# see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html\nRECENTLY_DELETED_TIMEOUT = 60\n\n# the default maximum message size in SQS\nDEFAULT_MAXIMUM_MESSAGE_SIZE = 262144\nINTERNAL_QUEUE_ATTRIBUTES = [\n    # these attributes cannot be changed by set_queue_attributes and should\n    # therefore be ignored when comparing queue attributes for create_queue\n    # 'FifoQueue' is handled on a per_queue basis\n    QueueAttributeName.ApproximateNumberOfMessages,\n    QueueAttributeName.ApproximateNumberOfMessagesDelayed,\n    QueueAttributeName.ApproximateNumberOfMessagesNotVisible,\n    QueueAttributeName.ContentBasedDeduplication,\n    QueueAttributeName.CreatedTimestamp,\n    QueueAttributeName.LastModifiedTimestamp,\n    QueueAttributeName.QueueArn,\n]\n", "path": "localstack/services/sqs/constants.py"}]}