The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftUPnP, reference main (333d65), with Swift 6.0 for macOS (SPM) on 16 Jan 2026 03:23:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/katoemba/SwiftUPnP.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/katoemba/SwiftUPnP
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 333d651 Support reanimation of devices with event handling.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
333d651502a793e8484437d1f6108850cbdf4658
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/11] Write sources
[1/11] Write UPnPCodeGenerator-entitlement.plist
[1/11] Write sources
[5/11] Write swift-version-5BDAB9E9C0126B9D.txt
[6/77] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[7/77] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[9/77] Emitting module XMLCoder
[10/82] Compiling XMLCoder XMLEncoderImplementation.swift
[11/82] Compiling XMLCoder XMLEncodingStorage.swift
[12/82] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[13/82] Compiling XMLCoder XMLReferencingEncoder.swift
[14/82] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[15/82] Compiling XMLCoder DecimalBox.swift
[16/82] Compiling XMLCoder DoubleBox.swift
[17/82] Compiling XMLCoder FloatBox.swift
[18/82] Compiling XMLCoder IntBox.swift
[19/82] Compiling XMLCoder KeyedBox.swift
[20/82] Compiling XMLCoder NullBox.swift
[21/82] Compiling XMLCoder SharedBox.swift
[22/82] Compiling XMLCoder SingleKeyedBox.swift
[23/82] Compiling XMLCoder StringBox.swift
[24/82] Compiling XMLCoder UIntBox.swift
[25/82] Compiling XMLCoder ISO8601DateFormatter.swift
[26/82] Compiling XMLCoder KeyedStorage.swift
[27/82] Compiling XMLCoder Metatypes.swift
[28/82] Compiling XMLCoder String+Extensions.swift
[29/82] Compiling XMLCoder Utils.swift
[30/82] Compiling XMLCoder Attribute.swift
[31/82] Compiling XMLCoder BoolBox.swift
[32/82] Compiling XMLCoder Box.swift
[33/82] Compiling XMLCoder ChoiceBox.swift
[34/82] Compiling XMLCoder DataBox.swift
[35/82] Compiling XMLCoder DateBox.swift
[42/84] Compiling XMLCoder XMLChoiceCodingKey.swift
[43/84] Compiling XMLCoder XMLCoderElement.swift
[44/84] Compiling XMLCoder XMLDocumentType.swift
[45/84] Compiling XMLCoder XMLHeader.swift
[46/84] Compiling XMLCoder XMLKey.swift
[47/84] Compiling XMLCoder URLBox.swift
[48/84] Compiling XMLCoder UnkeyedBox.swift
[49/84] Compiling XMLCoder ValueBox.swift
[50/84] Compiling XMLCoder Element.swift
[51/84] Compiling XMLCoder ElementAndAttribute.swift
[52/84] Compiling XMLCoder XMLStackParser.swift
[53/84] Compiling XMLCoder DecodingErrorExtension.swift
[55/84] Compiling XMLCoder DynamicNodeDecoding.swift
[56/84] Compiling XMLCoder SingleValueDecodingContainer.swift
[58/84] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[67/84] Emitting module Swifter
[70/84] Compiling XMLCoder DynamicNodeEncoding.swift
[71/84] Compiling XMLCoder EncodingErrorExtension.swift
[72/84] Compiling XMLCoder SingleValueEncodingContainer.swift
[73/84] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[74/84] Compiling XMLCoder XMLEncoder.swift
[75/84] Compiling XMLCoder XMLDecoder.swift
[76/84] Compiling XMLCoder XMLDecoderImplementation.swift
[77/84] Compiling XMLCoder XMLDecodingStorage.swift
[78/84] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[79/84] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[80/88] Compiling Swifter String+SHA1.swift
[81/88] Compiling Swifter WebSockets.swift
[82/120] Compiling UPnPCodeGenerator ServiceDefinition.swift
[83/120] Compiling UPnPCodeGenerator main.swift
[84/120] Compiling UPnPCodeGenerator SourceGenerator.swift
[85/120] Emitting module UPnPCodeGenerator
[85/120] Write Objects.LinkFileList
[86/120] Linking UPnPCodeGenerator
[87/120] Applying UPnPCodeGenerator
[89/120] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
[90/120] Compiling SwiftUPnP SSDPDiscovery.swift
[91/120] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
[92/123] Compiling SwiftUPnP UPnPRegistry.swift
[93/123] Compiling SwiftUPnP UPnPService.swift
[94/123] Compiling SwiftUPnP UPnPServiceDefinition.swift
[95/123] Emitting module SwiftUPnP
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 |     public let res: [DIDLRes]
203 |     public let desc: [DIDLDescription]
    |                `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 |     public let `class`: String
    :
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 |     enum CodingKeys: String, CodingKey {
242 |         case id
[96/123] Compiling SwiftUPnP AVTransport1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 |     public let res: [DIDLRes]
203 |     public let desc: [DIDLDescription]
    |                `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 |     public let `class`: String
    :
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 |     enum CodingKeys: String, CodingKey {
242 |         case id
[97/123] Compiling SwiftUPnP ConnectionManager1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 |     public let res: [DIDLRes]
203 |     public let desc: [DIDLDescription]
    |                `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 |     public let `class`: String
    :
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 |     enum CodingKeys: String, CodingKey {
242 |         case id
[98/123] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 |     public let res: [DIDLRes]
203 |     public let desc: [DIDLDescription]
    |                `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 |     public let `class`: String
    :
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 |     enum CodingKeys: String, CodingKey {
242 |         case id
[99/123] Compiling SwiftUPnP ContentDirectory1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 |     public let res: [DIDLRes]
203 |     public let desc: [DIDLDescription]
    |                `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 |     public let `class`: String
    :
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 |     enum CodingKeys: String, CodingKey {
242 |         case id
[100/123] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[101/123] Compiling SwiftUPnP OpenHomeSender1Service.swift
[102/123] Compiling SwiftUPnP OpenHomeTime1Service.swift
[103/123] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[104/123] Compiling SwiftUPnP OpenHomePins1Service.swift
[105/123] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[106/123] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[107/123] Compiling SwiftUPnP UserAgentGenerator.swift
[108/123] Compiling SwiftUPnP IPHelper.swift
[109/123] Compiling SwiftUPnP Publisher+Stream.swift
[110/123] Compiling SwiftUPnP XMLParserSupport.swift
[111/123] Compiling SwiftUPnP UPnPDevice.swift
[112/123] Compiling SwiftUPnP UPnPDeviceDefinition.swift
[113/123] Compiling SwiftUPnP OpenHomeTransport1Service.swift
[114/123] Compiling SwiftUPnP OpenHomeVolume1Service.swift
[115/123] Compiling SwiftUPnP OpenHomeVolume2Service.swift
[116/123] Compiling SwiftUPnP RenderingControl1Service.swift
[117/123] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[118/123] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[119/123] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[120/123] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[121/123] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[122/123] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[123/123] Compiling SwiftUPnP OpenHomeRadio1Service.swift
Build complete! (38.22s)
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git from cache (11.15s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6430] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (1.42s)
Fetching https://github.com/WeTransfer/Mocker.git
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/1889] Fetching mocker
[115/11971] Fetching mocker, xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.23s)
Fetched https://github.com/WeTransfer/Mocker.git from cache (1.23s)
Computing version for https://github.com/WeTransfer/Mocker.git
Computed https://github.com/WeTransfer/Mocker.git at 3.0.2 (0.56s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.0 (0.56s)
Creating working copy for https://github.com/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at stable (1e4f51c)
Creating working copy for https://github.com/WeTransfer/Mocker.git
Working copy of https://github.com/WeTransfer/Mocker.git resolved at 3.0.2
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.18.0
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket.git
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket.git resolved at master (5ddba5e)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "xmlcoder",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.13.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/CoreOffice/XMLCoder.git"
    },
    {
      "identity" : "swifter",
      "requirement" : {
        "branch" : [
          "stable"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/httpswift/swifter.git"
    },
    {
      "identity" : "cocoaasyncsocket",
      "requirement" : {
        "branch" : [
          "master"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/robbiehanson/CocoaAsyncSocket.git"
    },
    {
      "identity" : "mocker",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/WeTransfer/Mocker.git"
    }
  ],
  "manifest_display_name" : "SwiftUPnP",
  "name" : "SwiftUPnP",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftUPnP",
      "targets" : [
        "SwiftUPnP"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "UPnPCodeGenerator",
      "targets" : [
        "UPnPCodeGenerator"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "UPnPCodeGenerator",
      "module_type" : "SwiftTarget",
      "name" : "UPnPCodeGenerator",
      "path" : "CodeGenerator",
      "product_dependencies" : [
        "XMLCoder"
      ],
      "product_memberships" : [
        "UPnPCodeGenerator"
      ],
      "sources" : [
        "ServiceDefinition.swift",
        "SourceGenerator.swift",
        "main.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftUPnPTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftUPnPTests",
      "path" : "Tests/SwiftUPnPTests",
      "product_dependencies" : [
        "Mocker"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/AVTransport1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ConnectionManager1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ContentDirectory1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/MediaServerDevice.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeConfig1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeCredentials1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeInfo1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeOAuth1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePins1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylist1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylistManager1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct2Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRadio1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeReceiver1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRendererDevice.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeSender1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTime1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTransport1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume2Service.xml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/RenderingControl1Service.xml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "SwiftUPnPTests.swift"
      ],
      "target_dependencies" : [
        "SwiftUPnP"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftUPnP",
      "module_type" : "SwiftTarget",
      "name" : "SwiftUPnP",
      "path" : "Source",
      "product_dependencies" : [
        "XMLCoder",
        "Swifter",
        "CocoaAsyncSocket"
      ],
      "product_memberships" : [
        "SwiftUPnP"
      ],
      "sources" : [
        "Profiles/AV Profile/AVTransport1Service.swift",
        "Profiles/AV Profile/ConnectionManager1Service.swift",
        "Profiles/AV Profile/ContentDirectory1Service+DIDL.swift",
        "Profiles/AV Profile/ContentDirectory1Service.swift",
        "Profiles/AV Profile/RenderingControl1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeConfig1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeCredentials1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeInfo1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeOAuth1Service.swift",
        "Profiles/OpenHome Profile/OpenHomePins1Service.swift",
        "Profiles/OpenHome Profile/OpenHomePlaylist1Service+DIDL.swift",
        "Profiles/OpenHome Profile/OpenHomePlaylist1Service.swift",
        "Profiles/OpenHome Profile/OpenHomePlaylistManager1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeProduct1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeProduct2Service.swift",
        "Profiles/OpenHome Profile/OpenHomeRadio1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeReceiver1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeSender1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeTime1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeTransport1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeVolume1Service.swift",
        "Profiles/OpenHome Profile/OpenHomeVolume2Service.swift",
        "SSDP/SSDPCocoaAsyncSocketDiscovery.swift",
        "SSDP/SSDPDiscovery.swift",
        "SSDP/SSDPNetworkDiscovery.swift",
        "SSDP/UserAgentGenerator.swift",
        "Support/IPHelper.swift",
        "Support/Publisher+Stream.swift",
        "Support/XMLParserSupport.swift",
        "UPnP/UPnPDevice.swift",
        "UPnP/UPnPDeviceDefinition.swift",
        "UPnP/UPnPRegistry.swift",
        "UPnP/UPnPService.swift",
        "UPnP/UPnPServiceDefinition.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.